עבור לתוכן

תוכן נמחק

Featured Replies

פורסם

תוכן נמחק

פורסם

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

הסיפור עם השגיאה הוא כנראה פיקציה של VS כי הוא עצבני שאין לך סוגריים אחרי הFORים או משהו כזה..

מה שהייתי עושה בתוכנית הנוכחית בכדי לממש הוא :

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

int [] nNewArray = new int[a.length/2]

לאחר מכן תכניס את האיברים הזוגיים/אי-זוגיים למערך החדש שיצרת באיזו דרך שתרצה (אם אתה מסתבך תגיד ואני אכתוב לך גם איך לעשות את זה) ובסוף תחזיר את המערך ותדאג להדפיס אותו עם FOR (או אם במקרה יש פונקציה של C# שכבר עושה את זה) בMAIN.

או למשל שהפונקציה עצמה תדפיס את המערך ותחזיר 0 ואז בMAIN תשתמש בWRITE ותקרא לפונקציה רק לאחר מכן ולא בתוך הWRITE.

אין לי כוח לחשוב על שיפורים מה גם שאין לי VS מותקן ואני לא זוכר פקודות בע"פ :P

בהצלחה.

פורסם

לא הבנתי למה הפונקציה שלך בכלל מחזירה משהו.

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

פורסם

סיבה שמה שעשית מפריע לסישארפ היא פשוטה. במקרה ותעביר מערך בגודל 0 אף אחת מהלולאות לא תגיע לשלב של הRETURN כי הן לא יפעלו בכלל.

מי שהגיב מאחורי צדק ושתשנה את הפונקציה לVOID ותחליף את הRETURN לקונסול רייט זה יסתדר.

פורסם

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

כל פעם שאתה נכנס לFOR תדפיס את האיבר עם רווח וזהו.. אם בא לך להיות פדנט תבדוק בתוך הFOR שזה לא האיבר האחרון ואז לא בזבזת הדפסה של רווח מיותר :)

פורסם
  • מחבר

תוכן נמחק

פורסם

למה עשית <= ולא <?

ארכיון

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

דיונים חדשים