מערך דו מימדי

יטרנר

New member
מערך דו מימדי

אני צריכה לאתחל מטריצה אשר בודקת אם מספר לא מופיע פעמיים באותה שורה או טור. מה שאני לא מבינה זה איך אפשר לגשת לשורות בנפרד ולטורים בנפרד. מקווה שהבנתם אותי... ותודה רבה לכל העוזרים..
 

W3ndy

New member
לא הבנתי

מה את צריכה לעשות? ברור שאפשר לרוץ על שורות ובנפרד על עמודות, אבל לא הבנתי מה קשור לאתחל מטריצה.. את צריכה לוודא שמספר לא מופיע פעמיים במטריצה הזו?
 

יטרנר

New member
..

התרגיל: אתחל מטריצה בגודל size במספרים אקראיים ובדוק האם מתקיים מצב חוקי. במצב חוקי מספר לא יופיע פעמיים באותה שורה או טור.
 

rnan

New member
../images/Emo189.gif תשובה

מה שאת עושה זה דבר כזה זה נקרא עיקרון שובך היונים. הנחת בסיס המספרים הם מ 1..N ( כלומר 1,2,3,4,5,6,,,,,,N) את פותחת מערך בגודל N ומאתחלת את כולו ב 0 עבור כל שורה במטריצה את עוברת ועבור כל מספר שניתקלת בו את מעלה את הערך ה INDEXI+1 ב 1 ( למה אינדקס +1 ? כלומר אם ניתקלת במטריצה במספר 6 את מעלה תכלס במקום ה 5 ואת לא רוצה את זה ולכן את מעלה במקום ה 5+1. אל תשכחי שיכול להופיע לך גם 0 .... זה על השורות תוך כדי שאת מעלה את בודקת האם המספר הנוכחי שבווקטור הוא כבר 1 ?? אם כן את יוצאת ואומרת שזה לא תקני , אחרת ממשיכה אותו דבר לגבי עמודות... בייי
 

rnan

New member
אוופס

ההנחה זה שהמספרים הם מ 0 עד N ולא מ 1 עד N
 

W3ndy

New member
תיקון קטן

המערך צריך להיות בגודל N+1 ולא N אאל"ט
 
למעלה