קוד קצר שלא עובד

קוד קצר שלא עובד

מטרת הקוד: אני רוצה להזין 2 מספרים ולקבל לוח הכפל שיתן לי בשורה מ- 1 עד המספר שאני אזין, ובעמודה גם מ- 1 עד המספר שאני אזין.
כלומר נגיד אני אכתוב את 2 המספרים 45 זה יתן לי לוח הכפל שבנוי מ 4*5 כלומר 4 עמודות ו- 5 שורות. אבל שיתחיל מ-1 עד 4 בעמודות, ומ-1 עד 5 בשורות, ובינהם יבצע את כל הכפולות.

הנה הקוד שלי: http://pastebin.com/QNb0AJhR

משום מה אם אני כותב למשל 45 זה מחזיר לי פלט של 45 ולא מעבר לזה.

תודה לעוזרים
 

פרסאוס

New member
תשובה

printf("%d", x*y); X וY לא משתנים במהלך הריצה ולכן לקבל אותה תוצאה.
 
זה עדיין לא עושה כלום

החלפתי למטה בכפל ושמתי את I ו J זה לא עושה כלום.
משום מה התוכנית רק מבקשת ממני לכתוב מספר וזהו היא לא עושה איתו כלום.

בנוסף שאני עושה בדיקה, זה כותב לי שיש לי שגיאה אחת אך אני לא יודע מהי.

אתה יכול בבקשה לעזור לי לסדר את הקוד הזה?

ותודה מראש.
 
צודק שכחתי לצרף אותו

http://pastebin.com/fUtQShUz

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

פרסאוס

New member
הקוד הזה נראה תקין לגמרי.

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

ניתן לסדר את המספרים בלוח הכפל, כלומר שנגיד תחת 2*5 יהיה 10 , כי כרגע זה נראה כזה לא ממש מתחת 2*5 לדוגמא.

משהו נוסף, למה זה כותב לי : Rebuild All: 2 succeeded, 1 failed, 0 skipped אסור שתהיה איזה טעות בקוד גם אם הוא רץ, אחרת זנ לא יחשב. כרגע זה נראה שיש איזה משהו, אך איני יודע מה.

ותודה לך..
 

BravoMan

Active member
כדי לסדר את הפלט עליך לתת פרמטר פורמט

נכון ל-printf.
לדוגמה, כדי לשלוט על רוחב עמודה, כותבים את מספר התווים בעמודה אחרי סימן האחוז ולפני סוג הפלט:

printf("%2d", i * j);

ידפיס כל תוצאה בעמודה ברוחב 2 תווים כאשר המספר מוצמד ימינה.
וכמובן אל תשכח להוסיף רווחים בין הדפסה להדפסה.

לעניין הודעת השגיאה, כל מה שאפשר לדעת ממנה זה שאתה מנסה לקמפל יותר מתוכנה אחת, כאשר 2 תוכנות מצליחות להתקמפל ואחת לא.

צריך לראות את כל ה-LOG כדי לדעת איזו תוכנה לא נבנתה ולמה.
 
למעלה