משחזר מידע
משתמש סופר מקצוען
- הוסף לסימניות
- #21
כי הלולאה לא בשימושלמה לא צריך לולאה?
אז למה צריך אותו
כי הלולאה לא בשימושלמה לא צריך לולאה?
תצרפי את הקוד העכשווי (ועדיף גם אם את יודעת על איזה שורה בדיוק הוא נופל עכשיו) ואנסה לחפש שם מה הגורםיכול להיות... כי כל הזמן שיניתי כדי לבדוק איפה הטעות...
על איזה קטע קוד אתם מדברים?כי הלולאה לא בשימוש
אז למה צריך אותו
לא באמת שיניתי רציני. תכלס הבעיה שלו גם כשהפעלתי את הדאבג זה שהמיקום האחרון לא מאותחל ולכן כשהפעלתי עליו את שיטת הטוסטרינג הוא נתקע כי יש שם NULL ולא אוביקט מסוג CITY.תצרפי את הקוד העכשווי (ועדיף גם אם את יודעת על איזה שורה בדיוק הוא נופל עכשיו) ואנסה לחפש שם מה הגורם
מה ההדפסה שיש שם נותנת לך? את כל 3 הערים?זה הטסטר:
אני אנסה.מה ההדפסה שיש שם נותנת לך? את כל 3 הערים?
בשלב הבא, היתי מציעה לך להוסיף בתוך הלולאה של toString הדפסה של i ושל האיבר הנוכחי במערך. משהו שם דפוק בטוח, צריך רק למצוא מה...
גם המתכנת הכי טוב יכול להתקע לפעמים על שטות קטנה. בגדול הקוד שלך נראה בסדר גמוראני אנסה.
כשניסיתי להריץ הוא נתקע וכשניסיתי להריץ בלי המקום האחרון הוא הדפיס לי באמת את הפרטים של שני הערים, בלי העיר השלישית.
תודה!!
(נמאס לי... וזה גם מלחיץ אותי כי עוד פחות מחודש סוף סמסטר, והמבחנים...)
אני מדבר על הקטע קוד שממנו האשכול הזה התחילעל איזה קטע קוד אתם מדברים?
על הTOSTRING?
for (int i = 0;i<_noOfCities;i++)
{
res = res + ...;
}
למה אין צורך בלולאה?אני מדבר על הקטע קוד שממנו האשכול הזה התחיל
קוד:for (int i = 0;i<_noOfCities;i++) { res = res + ...; }
for (int i = 0;i<_noOfCities;i++)
{
res = res + ...;
if(something)
{
do this;
}
else
{
do that;
}
}// ורק כאן יוצאים מהלולאה
for (int i = 0;i<_noOfCities;i++)
{
res = res + ...;
}כאן הוא יצא מהלולאה
תסתכלו שוב על הקוד. בתוך הלולאה אין שום IF, רק שרשור של הערים.בלולאה שיש כרגע (אני לא יודע מה יש כרגע, אני מתייחס רק לשאלה הראשונית ולקוד שמופיע בהודעה הראשונה) הוא מסיים את כל הלולאה ורק כשיצא מזה
דהיינו שהגיע ל noOfCities אתם עוברים לif
מטרת לולאה הוא לבדוק בכל רגע נתון
וזה לא מה שקורה בפועל בקוד הזה
ובהרחבה
כש "i" שוה 0 אני בודק if
כש "i" שוה 1 אני בודק if
בקוד האמור
הוא מריץ את הלולאה על סרק
ויוצאים מהלולאה על ידי "{"
ורק אח"כ יש If
וכך זה אמור להיראות בקוד
קוד:for (int i = 0;i<_noOfCities;i++) { res = res + ...; if(something) { do this; } else { do that; } }// ורק כאן יוצאים מהלולאה
לא ממש הבנתי, אבל תכלס הוא מעדכן בלולאה את res להיות כל המחרוזת שאני רוצה להחזיר. וכדי שלא יקרה מצב שתוחזר לי רק כותרת אני בודקת אחרי העדכון אם res (המעודכן) שווה לx (הכותרת) ואם כן - זה אומר שאין ערים במערך ואם לא אז שיחזיר לי את res המעודכן.בלולאה שיש כרגע (אני לא יודע מה יש כרגע, אני מתייחס רק לשאלה הראשונית ולקוד שמופיע בהודעה הראשונה) הוא מסיים את כל הלולאה ורק כשיצא מזה
דהיינו שהגיע ל noOfCities אתם עוברים לif
מטרת לולאה הוא לבדוק בכל רגע נתון
וזה לא מה שקורה בפועל בקוד הזה
ובהרחבה
כש "i" שוה 0 אני בודק if
כש "i" שוה 1 אני בודק if
בקוד האמור
הוא מריץ את הלולאה על סרק
ויוצאים מהלולאה על ידי "{"
ורק אח"כ יש If
וכך זה אמור להיראות בקוד
קוד:for (int i = 0;i<_noOfCities;i++) { res = res + ...; if(something) { do this; } else { do that; } }// ורק כאן יוצאים מהלולאה
אגב, צורה יפה יותר תהיה לבדוק האם המערך ריק. יש פונקציה מובנית לכך.לא ממש הבנתי, אבל תכלס הוא מעדכן בלולאה את res להיות כל המחרוזת שאני רוצה להחזיר. וכדי שלא יקרה מצב שתוחזר לי רק כותרת אני בודקת אחרי העדכון אם res (המעודכן) שווה לx (הכותרת) ואם כן - זה אומר שאין ערים במערך ואם לא אז שיחזיר לי את res המעודכן.
לא הוא בסדר.תנסי לבדוק את הבנאי (constactor) של City
יש מצב שהוא לא מצליח ליצור את העיר השלישית וחוזר לך ערך NULL
לא למדו אותנו. למדנו מערכים השבוע. בשיעור אחד לא ממצה.אגב, צורה יפה יותר תהיה לבדוק האם המערך ריק. יש פונקציה מובנית לכך.
בד"כ גם לא לומדים את זה, זה תוספת utils - lang3 מאד שימושי.לא למדו אותנו. למדנו מערכים השבוע. בשיעור אחד לא ממצה.
שמחה לשמועל
לא הוא בסדר.
לא למדו אותנו. למדנו מערכים השבוע. בשיעור אחד לא ממצה.
תכלסססס - הגענו לטעותתתת.
בשיטה אחרת בכלל שמאחדת שתי ערים - אז טיפלתי בהכל וקידמתי שלא יהיה חור ושמתי null במקום האחרון... אבל שכחתי להוריד מ_noOfCities אחד...
מעצבן.
אבל תודה על עזרה בכל מקרה.
וכיף לדעת שיש פה עם מי להתייעץ...!
rhon.co.il
מעכשיו, תהיו הראשונים לקבל את כל העדכונים, החדשות, ההפתעות בלעדיות, והתכנים הכי חמים שלנו בפרוג!
חלה שגיאה בשליחה. נסו שוב!
לוח לימודים
מסלולי לימוד שאפשר להצטרף
אליהם ממש עכשיו:
תהילים פרק כה
אלְדָוִד אֵלֶיךָ יי נַפְשִׁי אֶשָּׂא:באֱלֹהַי בְּךָ בָטַחְתִּי אַל אֵבוֹשָׁה אַל יַעַלְצוּ אֹיְבַי לִי:גגַּם כָּל קוֶֹיךָ לֹא יֵבֹשׁוּ יֵבֹשׁוּ הַבּוֹגְדִים רֵיקָם:דדְּרָכֶיךָ יי הוֹדִיעֵנִי אֹרְחוֹתֶיךָ לַמְּדֵנִי:ההַדְרִיכֵנִי בַאֲמִתֶּךָ וְלַמְּדֵנִי כִּי אַתָּה אֱלֹהֵי יִשְׁעִי אוֹתְךָ קִוִּיתִי כָּל הַיּוֹם:וזְכֹר רַחֲמֶיךָ יי וַחֲסָדֶיךָ כִּי מֵעוֹלָם הֵמָּה:זחַטֹּאות נְעוּרַי וּפְשָׁעַי אַל תִּזְכֹּר כְּחַסְדְּךָ זְכָר לִי אַתָּה לְמַעַן טוּבְךָ יי:חטוֹב וְיָשָׁר יי עַל כֵּן יוֹרֶה חַטָּאִים בַּדָּרֶךְ:טיַדְרֵךְ עֲנָוִים בַּמִּשְׁפָּט וִילַמֵּד עֲנָוִים דַּרְכּוֹ:יכָּל אָרְחוֹת יי חֶסֶד וֶאֱמֶת לְנֹצְרֵי בְרִיתוֹ וְעֵדֹתָיו:יאלְמַעַן שִׁמְךָ יי וְסָלַחְתָּ לַעֲוֹנִי כִּי רַב הוּא:יבמִי זֶה הָאִישׁ יְרֵא יי יוֹרֶנּוּ בְּדֶרֶךְ יִבְחָר:יגנַפְשׁוֹ בְּטוֹב תָּלִין וְזַרְעוֹ יִירַשׁ אָרֶץ:ידסוֹד יי לִירֵאָיו וּבְרִיתוֹ לְהוֹדִיעָם:טועֵינַי תָּמִיד אֶל יי כִּי הוּא יוֹצִיא מֵרֶשֶׁת רַגְלָי:טזפְּנֵה אֵלַי וְחָנֵּנִי כִּי יָחִיד וְעָנִי אָנִי:יזצָרוֹת לְבָבִי הִרְחִיבוּ מִמְּצוּקוֹתַי הוֹצִיאֵנִי:יחרְאֵה עָנְיִי וַעֲמָלִי וְשָׂא לְכָל חַטֹּאותָי:יטרְאֵה אוֹיְבַי כִּי רָבּוּ וְשִׂנְאַת חָמָס שְׂנֵאוּנִי:כשָׁמְרָה נַפְשִׁי וְהַצִּילֵנִי אַל אֵבוֹשׁ כִּי חָסִיתִי בָךְ:כאתֹּם וָיֹשֶׁר יִצְּרוּנִי כִּי קִוִּיתִיךָ:כבפְּדֵה אֱלֹהִים אֶת יִשְׂרָאֵל מִכֹּל צָרוֹתָיו:
הנושאים החמים