עבור לתוכן

עזרה בבניית פונקציה ב C#

Featured Replies

פורסם

קודם כל, למה לולאה כפולה? רק היה צריך לבדוק שורה אחת במטריצה. אתה עושה לולאה עם j, אבל לא משתמש בו בשום צורה.

חוץ מזה, בלבלת בין שורות ועמודות (הקונבנציה של מטריצות היא שהאינדקס הראשון הוא מספר השורה, והאינדקס השני הוא מספר העמודה).

  • תגובות 30
  • צפיות 5.3k
  • נוצר
  • תגובה אחרונה
פורסם
  • מחבר

איך התיקון?

פורסם

תגיד לי אתה. תנסה להריץ את הקוד הזה (אפילו בראש שלך) על מטריצה לדוגמה (נניח, מטריצה בגודל 9 על 10) ותגיד לי אם הוא יעבוד.

פורסם
  • מחבר

לא יודע... נראה לי שלא כי אני צריך מקוננת כדי שירוץ של כל הטור ויבדוק אם יש בשורה הזאת תא שנוצר מהרצה של הטור ואז אם שמה משהו שווה ל5

פורסם
  • מחבר

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

פורסם

לא היית צריך לולאה מקוננת.

אתה רק צריך לעבור על כל האיברים שיושבים בשורה אחת.

כלומר, אם מדובר בשורה מספר 6, אז אתה צריך לעבור על האיברים במקומות 6,0 ואז 6,1 ואז 6,2 וכן הלאה. תחשוב איך אתה עושה את זה בקוד.

פורסם
  • מחבר

for(i=mat[6,0]; i<mat.GetLenght(0);i++)

ככה?

פורסם

למה [mat[0,0? מה המשמעות של הערך שיושב שם?

ולמה (mat.GetLength(0? מה המשמעות של הערך הזה?

תחשוב גם סה"כ מה ההבדל בין לעבור על כל האיברים במערך, לבין לעבור על האיברים בשורה של מטריצה (רמז: אין הבדל גדול).

פורסם
  • מחבר

mat.GetLength(0 זה כדי לרוץ על כל השורה וה mat[6,0] זה כדי לרוץ על מהספרים בשורה 6 החל מהראשון בהם 0 ועד לאחרון

פורסם
  • מחבר

מה פשוט לעשות את האיי קטן מהאורך של השורה?

פורסם

טוב, נמאס לי.

for (int i = 0 ; i < mat.GetLength(1) ; i++) {
if (mat[6,i] == 5)
return true;
}

יש מבין? אנחנו רצים על כל השורה. לכן מתחילים מ-0, ומסיימים באורך השורה.

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

פורסם
  • מחבר

זה טוב לשאלה המקורית שלי?



static bool CheckRows(int[,] mat, int row, int j)
{

bool check = true;


for (int i = 0; i < mat.GetLength(0); i++)
{
if (mat[row,j] == mat[i,j])

check = false;
}
return check;
}

פורסם

אני מבין שאתה רוצה שנפתור לך את כל התרגיל?

תחשוב על זה בעצמך.

הראיתי לך קוד שבודק האם שורה מס' 6 במטריצה מכילה את המספר 5.

תחשוב איך להפוך אותו לקוד שאתה צריך.

פורסם

איפה בדיוק אתה בודק שהמספר מופיע פעמיים? (עכשיו אולי תבין למה הלולאה מחזירה לך FALSE כל הזמן בנוסף לשאר השגיאות שעשית)

פורסם
  • מחבר

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

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים