עבור לתוכן

עזרה - שפת C. מה לא בסדר בתוכנית ?

Featured Replies

פורסם

שלום לכולם נתונה לי השאלה הבאה:

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

הנה מה שכתבתי (לא בדקתי לעומק, עשוי להכיל טעות).

#include <conio.h>
#include <stdio.h>
void main()
{
int *p[3],arr0[5]={50,60,70,80,90},arr1[5]={93,50,60,93,92},arr2[5]={93,92,90,50,30},big, count,i,*pi;
//gets(arr0); gets(arr1); gets(arr2);
p[0]=arr0; p[1]=arr1; p[2]=arr2;
for(i=0,count=0,big=*p[0];i<3;i++)
for(pi==p[i];pi-p[i]<5;pi++)
if(*pi>big)
{
big=*pi;
count=1;
}
else if(*pi==big) count++;

printf("%d %d",big,count);
}

משום מה כשאני מריץ את זה אני מקבל הודעת שגיאה שאומרת "General Protection Exception" והקומפיילר מסמן לי את השורה של ה if(*p>big).

מה אומרת הודעת השגיאה ? ממה היא נובעת ? ואיך נפטרים ממנה ומריצים את התוכנית ?

בתודה מראש,

מייק.

פורסם

בשורת ה FOR, בתוך הסוגריים רשמת ==, משתמשים ב == בשביל תנאי, לא בשביל השמה. פעולה זו לא עושה כלום. אם תרשום = במקום == הוא לא ירשום שגיאה. PI מכיל זבל.

מקווה שעזרתי קצת,

מושיקו

פורסם
  • מחבר

חחח, ואללה. צודק, ממש אין לי מושג למה כתבתי == במקום =.

נו טוב, אני אפסיק עם הC ב2 בלילה.

תודה על העזרה.

עריכה:

כרגע שמתי לב שהשתמשתי בgets על משתנה מטיפוס שלם :kopfpatsch:

ארכיון

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

דיונים חדשים