עבור לתוכן

בעיה בהרצת תכנית בסי..

Featured Replies

פורסם

זה בעיה פשוטה אבל אין לי מושג למה זה לא עובד..זה מריץ לי אותה זה עושה שגיאה איפשהו ואין לי מושג איפה , התכנית אמורה להראות את המספר הכי גבוה מבין 10 מספרים וזה עושה לי איזה error משהו עם אפס בסוף אין לי מושג..זה מריץ את התכנית אבל לא עובד משום מה.

תודה :)

#include <stdio.h>

void main()

{

int num,max_num,i;

printf("\nenter 10 numbers");

scanf("%d",&num);

max_num=num;

for(i=1;i<=9;i++)

{

scanf("%d",num);

if(num>max_num)

max_num=num;

}

printf("\n%d",max_num);

}

פורסם

scanf("%d",num); - לא חסר פה & ?

פורסם
#include <stdio.h>
void main()
{
int num,max_num,i;
printf("\nenter 10 numbers");
for(i=1;i<=9;i++)
{
printf("enter number\n");
scanf("%d",&num);
if(num>max_num){
max_num=num;}
}
printf("\n%d",&max_num);
}

פורסם
  • מחבר

^^ זה בודק ל9 מספרים לא?

עריכה: טוב ניסיתי להריץ את זה ואת מה שאני רשמתי וזה רושם בסוף אחרי שהקדתי את 10 המספרים

"-14null pointer assignment"

פורסם

Burton, שכחת לאתחל את max_num.

לדעתי פותח הנושא כתב את התוכנית בצורה עדיפה (לאתחל את max_num עם הקלט הראשון) - הוא רק שכח את ה& בscanf בלולאה (כמו שציינו כבר)

עריכה: Burton - יש לך & מיותר בprintf האחרון :-X

פורסם

שניהם בודקים ל- 9 מספרים(9-1+1=9).

תעשו את זה מ- 0 ל- 10 לא כולל 10, כלומר [0, 10) יצא הפוך לא משנה.

פורסם

Burton, שכחת לאתחל את max_num.

לדעתי פותח הנושא כתב את התוכנית בצורה עדיפה (לאתחל את max_num עם הקלט הראשון) - הוא רק שכח את ה& בscanf בלולאה (כמו שציינו כבר)

עריכה: Burton - יש לך & מיותר בprintf האחרון :-X

אני לא כותב C ככה שהיה ברור לי שיהיו בעיות בסינטקס

ועדיף באמת לאתחל את max_num עם הקלט הראשון אבל לעשות את זה בצורה ישירה ולא ע"י קליטה ל-num ואחר כך להעביר אותו

פורסם
  • מחבר

תודה על העזרה :xyxthumbs:

אבל לא הבנתי למה אני צריך להוסיף את ה& בלולאה??

פורסם

scanf היא פונקציה די טיפשה כשזה נוגע ל- type safety.

את ה- types אתה מציין ב- format string.

אם כתבת לה %d, אז היא מצפה לכתובת של משתנה מסוג int.

אתה נתת לה את המשתנה עצמו, שהערך שלו שם יהיה הערך הראשון שהכנסת (לצורך הדוגמא, נגיד שזה היה המספר 5)

מה ש- scanf תעשה, יהיה לקרוא ערך, ולשים אותו בכתובת (אבסולוטית) 5, כי זה מה שיש במשתנה.

הכתובת '5' נמצאת רוב הזמן מחוץ לסגמנט הזיכרון שלך, ולכן כשאתה מנסה לכתוב אליה, אתה חוטף בראש.

פורסם
  • מחבר

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

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

פורסם

למה שלא תדפיס ישר מאיפה שאתה עובד?

פורסם
  • מחבר

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

פורסם

וPRINTS SCREEN לא עוזר?

פורסם
  • מחבר

יכול לעזור אבל להעתיק ולהדביק אתזה כל פעם + הפרינטסקרינים שאני צריך בשביל ההרצה עצמה זה די מתיש ואני אחרי זה עוד צריך לדחוס את כל הקובץ הזה בדיסקט ככה שזה יצא לי 20 פרינטסקרינים ואני לא חושב שזה ייכנס בדיסקט..

פורסם

אז תשים את זה בתור נספחים.

ארכיון

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

דיונים חדשים