עבור לתוכן

צריך עזרה בתוכנית שלי ב-c

Featured Replies

פורסם

התכנית שלי היא די קלה לעשיה (אני די מתחיל)

אז ככה המטרה בתוכנית היא להתחיל מ-1...15 ואז שורה הבא שזה ירד באחד 1...14 עד שזה יהיה 1 1.

התכנית שלי היא כזאת:

#include <stdio.h>

int a,b;

int main()

{

for(a=1;a<=15;a++)

{

printf("%d",a);

if(a=15)

for(b=1;b=a;b--)

printf("%d",a);

}

scanf("%d",&a);

return 0;

}

הסקנף בסוף הוא בגלל בעיה בתוכנה שלי, זה עוזר לזה להריץ את התוכנה בלי לצאת מן התכנית. הפלט של התכנית הוא לולאה אין סופית של 15...

אשמח אם מישהו יוכל להביא לי פיתרון נכון לתכנית.

אם אתם רוצים ליראות את התכנית כמו שצריך תלחצו ctrl+shift

פורסם

תעטוף את הקוד שלך בטג קוד (הכפתור שנראה כמו #, ליד הכפתור של הציטוט) כדי שייראה נורמלי. ככה לא נצטרך ללחוץ על ctrl+shift :)

הבעיה שלך פשוטה - b=a לא משווה בין b ל-a, אלא עושה השמה מ-a ל-b. על מנת להשוות צריך להשתמש ב == (פעמיים =).

פורסם
  • מחבר

תודה :xyxthumbs: :xyxthumbs:

פורסם

אגב ניתן לבצע זאת ביותר אלגנטיות ככה:

#include <stdio.h>
#include <stdlib.h>
int a,b;
int main()
{
for(a=14,b=1;b<=29;a--,b++)
{
printf("%d",(15-abs(a)));
}
scanf("%d",&a);
return 0;
}

פורסם

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

פורסם

:kopfpatsch:

זה כל הקוד, התוכנית יוצאת כי היא מסתיימת (הסיבה ל-scanf היא כדי שהחלון לא ייסגר, כפי ש-IDE-ים מסוימים עושים).

פורסם
  • מחבר

:kopfpatsch:

זה כל הקוד, התוכנית יוצאת כי היא מסתיימת (הסיבה ל-scanf היא כדי שהחלון לא ייסגר, כפי ש-IDE-ים מסוימים עושים).

צודק...

אני משתמש ב-Dev יש תוכנה שאני לא אצטרך לעשות את זה?

פורסם

ב-visual studio אפשר להציג את חלון הפלט באמצעות debug > windows > output.

אני מניח שגם בגרסה החינמית (visual studio express) אפשר.

פורסם
  • מחבר

תודה :xyxthumbs:

ארכיון

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

דיונים חדשים