כותב |
|
נבט כהן משתמש מתחיל
הצטרף / הצטרפה: 29 May 2005
משתמש: מנותק/ת הודעות: 11
|
נשלח בתאריך: 29 May 2005 בשעה 14:46 | | IP רשוּם
|
|
|
|
תיקנתי את קודי הקלט, פתרתי עוד הרבה בעיות, הקומפילר שלי מדווח על 0 אזהרות ו0 תקלות, אבל כשאני מריץ את התוכנה היא יוצאת מייד! למישהו יש מושג מה לעזאזל הבעיה?
קוד:
#include <stdio.h>
int main ()
{
int x[50][50];
/*àéôåñ X*/
int for1A,for1B;
for (for1A=0;for1A<=50;for1A++)
{
for (for1B=0;for1B<=50;for1B++)
{
x[for1A][for1B]=0;
}
}
/*øéùåí ð÷' öéåï*/
int do1A,do1B;
char do1Stop;
point:
printf("enter X:");
scanf("%d \n", &do1A);
printf("enter Y:");
scanf("%d \n", &do1B);
x[do1A][do1B]=1;
printf("òåã àçã? ìçõ ë ìëï, àå ì ììà\n");
scanf("%if", &do1Stop);
if (do1Stop= 'ì') goto point;
/*úôøéè*/
char do2Press, do2Stop;
int around2;
menu:
printf("àí àúä øåöä ìçùá ìçõ ç\n");
printf("àí àúä øåöä ìøàåú àú îöá äðúåðéí ìçõ ä\n");
printf("àí àúä øåöä ìä÷éù òåã ð÷' öéåï ìçõ ð\n");
printf("àí àúä øåöä ìöàú ìçõ é\n");
scanf("%if", &do2Press);
if (do2Press= 'ç')
{
around2=around(x [50][50]);
printf("é 9; %d ð÷åãåú îñáéá ìð÷åãä ùáçøú", around2);
}
else if (do2Press= 'ä') print(x[50][50]);
else if (do2Press= 'ð') goto point;
else if (do2Press= 'é') goto exit;
goto menu;
exit:
return 0;
}
/*çéùåá äð÷åãåú îñáéá*/
int around (int x[50][50])
{
int for3A, for3B;
for (for3A=0;for3A<=50;for3A++)
{
for (for3B=0;for3B<=50;for3B++)
{
if (x[for3A+1 || for3A-1 || for3A][for3B+1 || for3B-1 || for3B]=1 && x[for3A][for3B]!=1) x[for3A][for3B]=2;
}
}
int for4A, for4B, _around;
for (for4A=0;for4A<=50;for4A++)
{
for (for4B=0;for4B<=50;for4B++)
{
if (x[for4A][for4B]=2) _around++;
}
}
return _around;
}
/*äãôñä*/
int print (int x[50][50])
{
int for1A=0,for1B=0;
for (for1A=0;for1A<50;for1A++)
{
printf("\n");
for (for1B=0;for1B<50;for1B++)
{
printf("%d ", x[for1A][for1B]);
}
}
printf("0-ð÷åãå& #250; øé÷åú\n");
printf("äð÷åã 29;ú ùáçøú-1\n");
printf("2-äð÷åã& #229;ú îñáéá\n");
return 0;
}
|
|
|
|
חזרה לתחילת העמוד |
|
|
Nameless אחראי פורומים
הצטרף / הצטרפה: 08 March 2005 מדינה: Armenia
משתמש: מנותק/ת הודעות: 69
|
נשלח בתאריך: 29 May 2005 בשעה 21:36 | | IP רשוּם
|
|
|
|
תחליף קומפיילר
הקומפייל 1512; שלך על הפנים
קיבלתי מלא שגיאות עם הקןמפייל 12; לחלונות dev-C++
זאת תוכנית לחלונות, לא?
למשל טעות מפגרת:
printf("o`a*a~ a`c,a~? i`c,o~ e" i`e"i", a`a* i` i`i`a`\n");
אתה כותב " בלי לשים לפני \
ואתה מסיים את הקטע של הטקסט ומתחיל עם הקטע של המשתנים
אני מציע שקודם כול תגיד לי באיזו שפה הפלט (שב printf)
כי אצלי לא משנה באיזה קידוד זה ג'יבריש.
__________________ meow
|
חזרה לתחילת העמוד |
|
|
SBD פורומיסט על
הצטרף / הצטרפה: 13 January 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 1194
|
נשלח בתאריך: 29 May 2005 בשעה 21:58 | | IP רשוּם
|
|
|
|
מן הסתם זה עברית....
__________________ ~ Nobody Is Perfect, I'm Nobody ~
פורומים
|
חזרה לתחילת העמוד |
|
|
נבט כהן משתמש מתחיל
הצטרף / הצטרפה: 29 May 2005
משתמש: מנותק/ת הודעות: 11
|
נשלח בתאריך: 30 May 2005 בשעה 14:35 | | IP רשוּם
|
|
|
|
כתבתי את התוכנה בDEV, והוא לא מראה לי שום בעיות, ואפילו מבין את העברית.
בפורום גם אני רואה ג'בריש, אבל אני לא חושב שזאת הבעיה (אם זה היה כזה דבר הוא היה עושה משהו, אצלי הוא פשוט לא עושה כלום.)
|
חזרה לתחילת העמוד |
|
|
SBD פורומיסט על
הצטרף / הצטרפה: 13 January 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 1194
|
נשלח בתאריך: 30 May 2005 בשעה 17:06 | | IP רשוּם
|
|
|
|
לא יודע מה עם הקומפיילר שלך אני עבוד עם MSVC ואלה השגיאות:
קוד:
cpp1.cpp(41) : error C2065: 'around' : undeclared identifier cpp1.cpp(44) : error C2065: 'print' : undeclared identifier cpp1.cpp(55) : error C2373: 'around' : redefinition; different type modifiers cpp1.cpp(79) : error C2373: 'print' : redefinition; different type modifiers |
|
|
__________________ ~ Nobody Is Perfect, I'm Nobody ~
פורומים
|
חזרה לתחילת העמוד |
|
|
Nameless אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 30 May 2005 בשעה 20:53 | | IP רשוּם
|
|
|
|
תעלה בבקשה את הקוד לאתר או שתתקן את הג'יבריש
(אנדר, איך מתקנים את הג'יבריש הזה?)
|
חזרה לתחילת העמוד |
|
|
SBD פורומיסט על
הצטרף / הצטרפה: 13 January 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 1194
|
נשלח בתאריך: 31 May 2005 בשעה 00:09 | | IP רשוּם
|
|
|
|
אין מה לעשות זה כנראה בגלל שהוא עשה העתק הדבק מהקומפיילר שהוא אולי עובד עם קידוד UNICODE או משהו דומה, ופה זה לא אותו קידוד או יותר מזה הווינדוס הוא לא אותו קידוד ולכן יש ג'יבריש....[לא יודע נראה לי לפחות...]
__________________ ~ Nobody Is Perfect, I'm Nobody ~
פורומים
|
חזרה לתחילת העמוד |
|
|
נבט כהן משתמש מתחיל
הצטרף / הצטרפה: 29 May 2005
משתמש: מנותק/ת הודעות: 11
|
נשלח בתאריך: 31 May 2005 בשעה 08:35 | | IP רשוּם
|
|
|
|
עכשיו רואים טוב?
קוד:
#include <stdio.h>
int main ()
{
int x[50][50];
/*איפוס X*/
int for1A,for1B;
for (for1A=0;for1A<=50;for1A++)
{
for (for1B=0;for1B<=50;for1B++)
{
x[for1A][for1B]=0;
}
}
/*קליטת נק' ציון*/
int do1A,do1B;
char do1Stop;
point:
printf("הכנס את X:");
scanf("%d \n", &do1A);
printf("הכנס את Y:");
scanf("%d \n", &do1B);
x[do1A][do1B]=1;
printf("עוד נק' ציון? (כ לכן, ל ללא)\n");
scanf("%if", &do1Stop);
if (do1Stop= 'ל') goto point;
/*תפריט*/
char do2Press, do2Stop;
int around2;
menu:
printf("לחישוב לחץ ח\n");
printf("להדפסה לחץ ה\n");
printf("להכנס עוד נק' ציון לחץ נ\n");
printf("ליציאה לחץ י\n");
scanf("%if", &do2Press);
if (do2Press= 'ç')
{
around2=arou nd(x [50][50]);
printf(" 3; 9; %d נק' מקיפות את נק' הציון שבחרתם", around2);
}
else if (do2Press= 'ה') printf(x[50][50]);
else if (do2Press= 'נ') goto point;
else if (do2Press= 'י') goto exit;
goto menu;
exit:
return 0;
}
/*חישוב הנק' המקיפות*/
int around (int x[50][50])
{
int for3A, for3B;
for (for3A=0;for3A<=50;for3A++)
{
for (for3B=0;for3B<=50;for3B++)
{
if (x[for3A+1 || for3A-1 || for3A][for3B+1 || for3B-1 || for3B]=1 && x[for3A][for3B]!=1) x[for3A][for3B]=2;
}
}
int for4A, for4B, _around;
for (for4A=0;for4A<=50;for4A++)
{
for (for4B=0;for4B<=50;for4B++)
{
if (x[for4A][for4B]=2) _around++;
}
}
return _around;
}
/*הדפסה*/
int print (int x[50][50])
{
int for1A=0,for1B=0;
for (for1A=0;for1A<50;for1A++)
{
printf("\n");
for (for1B=0;for1B<50;for1B++)
{
printf("%d ", x[for1A][for1B]);
}
}
printf("0-כל הנק' ציון הריקות\n");
printf("1-כל נק' הציון שסימנת\n");
printf("2-כל נק' הציון הדרושות כדי להקיף את נק' הציון שסימנת\n");
return 0;
}
|
|
|
|
חזרה לתחילת העמוד |
|
|
SBD פורומיסט על
הצטרף / הצטרפה: 13 January 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 1194
|
נשלח בתאריך: 31 May 2005 בשעה 10:32 | | IP רשוּם
|
|
|
|
הייתי רוצה לדעת מה זה
scanf("%if", &do2Press);
אני לא מכיר תו בקרה IF =\
__________________ ~ Nobody Is Perfect, I'm Nobody ~
פורומים
|
חזרה לתחילת העמוד |
|
|
נבט כהן משתמש מתחיל
הצטרף / הצטרפה: 29 May 2005
משתמש: מנותק/ת הודעות: 11
|
נשלח בתאריך: 31 May 2005 בשעה 15:28 | | IP רשוּם
|
|
|
|
התבלבלתי בין %IF (תו הבקרה של double, כל המספרים הרציונלים,) לבין %C, תו הבקרה של char.
תודה.
אבל התוכנה עדיין לא עובדת, עוד רעיונות?
|
חזרה לתחילת העמוד |
|
|
Alias משתמש חבר
הצטרף / הצטרפה: 13 January 2005
משתמש: מנותק/ת הודעות: 344
|
נשלח בתאריך: 31 May 2005 בשעה 21:23 | | IP רשוּם
|
|
|
|
אין %if עד כמה שאני יודע יש %lf שזה הדפסה של long double, הדפסה של double רגיל זה %f.
תקנו אותי אם אני טועה.
(תקנו אותי אם אני טועה)
בקשר לתוכנית, מצטער אני אחרי 12 שעות לימוד מתמטיקה ואין לי כח בגרוש להסתכל, בהזדמנות אחרת.
|
חזרה לתחילת העמוד |
|
|
נבט כהן משתמש מתחיל
הצטרף / הצטרפה: 29 May 2005
משתמש: מנותק/ת הודעות: 11
|
נשלח בתאריך: 31 May 2005 בשעה 21:58 | | IP רשוּם
|
|
|
|
כן, כבר תיקנתי את הבעיה.
תודה בכל מקרה, ומצטער על המתמטיקה
אגב, מישהו יודע איפה אני יכול ללמוד לתכנת C בווינדוס?
|
חזרה לתחילת העמוד |
|
|
SBD פורומיסט על
הצטרף / הצטרפה: 13 January 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 1194
|
נשלח בתאריך: 01 June 2005 בשעה 01:36 | | IP רשוּם
|
|
|
|
התייחסת לבעיות שהקומפיילר שלי נתן לך?
__________________ ~ Nobody Is Perfect, I'm Nobody ~
פורומים
|
חזרה לתחילת העמוד |
|
|
נבט כהן משתמש מתחיל
הצטרף / הצטרפה: 29 May 2005
משתמש: מנותק/ת הודעות: 11
|
נשלח בתאריך: 01 June 2005 בשעה 19:42 | | IP רשוּם
|
|
|
|
לא הבנתי בדיוק מה הוא רוצה, ומורפיקס (מילון אינטרנטי) לא עוזר.
בכל אופן עברתי על הפונקציות שהוא הצביע עליהם ולא מצאתי תקלה, תוכל לתרגם לי?
|
חזרה לתחילת העמוד |
|
|
SBD פורומיסט על
הצטרף / הצטרפה: 13 January 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 1194
|
נשלח בתאריך: 01 June 2005 בשעה 22:20 | | IP רשוּם
|
|
|
|
לפני שאני מתייחס לשגיאות שלו, מה זה אמור להביע?
__________________ ~ Nobody Is Perfect, I'm Nobody ~
פורומים
|
חזרה לתחילת העמוד |
|
|
Nameless אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 02 June 2005 בשעה 00:08 | | IP רשוּם
|
|
|
|
קוד:
around2=arou nd(x [50][50]);
&nbs p;
printf(" 3; 9; %d נק'
מקיפות את נק' הציון שבחרתם", around2);
}
else if (do2Press= 'ה') printf(x[50][50]);
else if (do2Press= 'נ') goto point;
else if (do2Press= 'י') goto exit;
goto menu;
exit:
return 0;
}
/*חישוב הנק' המקיפות*/
int around (int x[50][50]) |
|
|
קודם כול:
arou nd(x [50][50]);
- תחבר את זה :around(x [50][50]);
ואיך אתה יכול להשתמש במשתנה שאתה מגדיר רק אחר כך?
int around (int x[50][50])
ותתקן כבר את ה %if ל %lf
תתקן את הדברים בקוד ואז נראה מה עוד לא בסדר.
נלך צעד צעד.
|
חזרה לתחילת העמוד |
|
|
Nameless אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 02 June 2005 בשעה 00:10 | | IP רשוּם
|
|
|
|
עוד משהו:
כשאתה בודק תנאי בשפת C
משתמשים בשני שווה:
בהשמה משתמשים רק באחד
|
חזרה לתחילת העמוד |
|
|
נבט כהן משתמש מתחיל
הצטרף / הצטרפה: 29 May 2005
משתמש: מנותק/ת הודעות: 11
|
נשלח בתאריך: 02 June 2005 בשעה 00:24 | | IP רשוּם
|
|
|
|
Nameless כתב:
<div style="text-align: left;">
קוד:
around2=arou nd(x [50][50]);
&nbs p;
printf(" 3; 9; %d נק'
מקיפות את נק' הציון שבחרתם", around2);
}
else if (do2Press= 'ה') printf(x[50][50]);
else if (do2Press= 'נ') goto point;
else if (do2Press= 'י') goto exit;
goto menu;
exit:
return 0;
}
/*חישוב הנק' המקיפות*/
int around (int x[50][50]) |
|
|
קודם כול:
arou nd(x [50][50]);
- תחבר את זה :around(x [50][50]);
ואיך אתה יכול להשתמש במשתנה שאתה מגדיר רק אחר כך?
int around (int x[50][50])
<div style="text-align: right;">
|
|
|
למה צריך להוסיף nd? ומה הגדרתי לפני מה? main לפני around?
עשיתי את השינויים שאמרתם לי, לפי מה שהבנתי (ובבקשה תתעלמו מהגיבריש, נמאס לי לתקן אותו כל פעם):
קוד:
#include <stdio.h>
/*çéùåá äð÷åãåú îñáéá*/
int around (int x[50][50])
{
int for3A, for3B;
for (for3A=0;for3A<=50;for3A++)
{
for (for3B=0;for3B<=50;for3B++)
{
if (x[for3A+1 || for3A-1 || for3A][for3B+1 || for3B-1 || for3B]==1 && x[for3A][for3B]!=1) x[for3A][for3B]=2;
}
}
int for4A, for4B, _around;
for (for4A=0;for4A<=50;for4A++)
{
for (for4B=0;for4B<=50;for4B++)
{
if (x[for4A][for4B]==2) _around++;
}
}
return _around;
}
/*äãôñä*/
int print (int x[50][50])
{
int for1A=0,for1B=0;
for (for1A=0;for1A<50;for1A++)
{
printf("\n");
for (for1B=0;for1B<50;for1B++)
{
printf("%d ", x[for1A][for1B]);
}
}
printf("0-ð÷åãå& #250; øé÷åú\n");
printf("äð÷åã 29;ú ùáçøú-1\n");
printf("2-äð÷åã& #229;ú îñáéá\n");
return 0;
}
int main ()
{
int x[50][50];
/*àéôåñ X*/
int for1A,for1B;
for (for1A=0;for1A<=50;for1A++)
{
for (for1B=0;for1B<=50;for1B++)
{
x[for1A][for1B]=0;
}
}
/*øéùåí ð÷' öéåï*/
int do1A,do1B;
char do1Stop;
point:
printf("enter X:");
scanf("%d \n", &do1A);
printf("enter Y:");
scanf("%d \n", &do1B);
x[do1A][do1B]=1;
printf("òåã àçã? ìçõ ë ìëï, àå ì ììà\n");
scanf("%c", &do1Stop);
if (do1Stop== 'ì') goto point;
/*úôøéè*/
char do2Press, do2Stop;
int around2;
menu:
printf("àí àúä øåöä ìçùá ìçõ ç\n");
printf("àí àúä øåöä ìøàåú àú îöá äðúåðéí ìçõ ä\n");
printf("àí àúä øåöä ìä÷éù òåã ð÷' öéåï ìçõ ð\n");
printf("àí àúä øåöä ìöàú ìçõ é\n");
scanf("%c", &do2Press);
if (do2Press== 'ç')
{
around2=around(x [50][50]);
printf("é 9; %d ð÷åãåú îñáéá ìð÷åãä ùáçøú", around2);
}
else if (do2Press== 'ä') print(x[50][50]);
else if (do2Press== 'ð') goto point;
else if (do2Press== 'é') goto exit;
goto menu;
exit:
return 0;
}
|
|
|
|
חזרה לתחילת העמוד |
|
|
SBD פורומיסט על
הצטרף / הצטרפה: 13 January 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 1194
|
נשלח בתאריך: 02 June 2005 בשעה 00:47 | | IP רשוּם
|
|
|
|
לא הבנתי את השורה הזאת...
קוד:
if (x[for3A+1 || for3A-1 || for3A][for3B+1 || for3B-1 || for3B]==1 && x[for3A][for3B]!=1) |
|
|
ופה טיפה נסדר את הקוד הכללי:
קוד:
#include <stdio.h>
int around (int x[50][50]) { int for3A, for3B,for4A, for4B, _around;
for (for3A=0;for3A<=50;for3A++) for (for3B=0;for3B<=50;for3B++) if (x[for3A+1 || for3A-1 || for3A][for3B+1 || for3B-1 || for3B]==1 && x[for3A][for3B]!=1) x[for3A][for3B]=2; for (for4A=0;for4A<=50;for4A++) for (for4B=0;for4B<=50;for4B++) if (x[for4A][for4B]==2) _around++; return _around; }
int print(int x[50][50]) { int for1A=0,for1B=0;
for(for1A=0;for1A<50;for1A++) { printf("\n"); for (for1B=0;for1B<50;for1B++) printf("%d ", x[for1A][for1B]); } printf("0-?º???& #250; ??º??\n"a); printf("??º??. 29;? ?????-1\n"); printf("2-??º??& #229;? ?????\n"); return 0; }
int main () { int x[50][50],for1A,for1B,do1A,do1B,around2; char do1Stop,do2Press, do2Stop; for (for1A=0;for1A<=50;for1A++) for (for1B=0;for1B<=50;for1B++) x[for1A][for1B]=0; point: printf("enter X:"); scanf("%d \n", &do1A); printf("enter Y:"); scanf("%d \n", &do1B); x[do1A][do1B]=1; printf("??? ???? ??? ? ???, ?? ? ???\n"); scanf("%c", &do1Stop); if (do1Stop== '?') goto point; menu: printf("?? ??? ???? ???? ??? ?\n"); printf("?? ??? ???? ????? ?? ??? ??????? ??? ?\n"); printf("?? ??? ???? ??º?? ??? ?º' ???? ??? ?\n"); printf("?? ??? ???? ???? ??? ?\n"); scanf("%c", &do2Press); if (do2Press== '?') { around2=around(x[50][50]); printf("?. 9; %d ?º???? ????? ??º??? ?????", around2); } else if (do2Press== '?') print(x[50][50]); else if (do2Press== '?') goto point; else if (do2Press== '?') goto exit; goto menu; exit:
return 0; } |
|
|
__________________ ~ Nobody Is Perfect, I'm Nobody ~
פורומים
|
חזרה לתחילת העמוד |
|
|
נבט כהן משתמש מתחיל
הצטרף / הצטרפה: 29 May 2005
משתמש: מנותק/ת הודעות: 11
|
נשלח בתאריך: 02 June 2005 בשעה 07:55 | | IP רשוּם
|
|
|
|
if (x[for3A+1 || for3A-1 || for3A][for3B+1 || for3B-1 || for3B]==1 && x[for3A][for3B]!=1)
אומר שאם הנקודה היא מעל, מתחת, או באלכסון לנקודה שמסומנת כ 1 (נקודה שהמשתמש בחר,) אז שיסמן אותה כ 2.
|
חזרה לתחילת העמוד |
|
|
SBD פורומיסט על
הצטרף / הצטרפה: 13 January 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 1194
|
נשלח בתאריך: 02 June 2005 בשעה 10:24 | | IP רשוּם
|
|
|
|
אוקי פשוט לא ידעתי שאפשר לכתוב את זה ככה חידשת לי משהו :)
__________________ ~ Nobody Is Perfect, I'm Nobody ~
פורומים
|
חזרה לתחילת העמוד |
|
|
feint משתמש פעיל
הצטרף / הצטרפה: 01 March 2005
משתמש: מנותק/ת הודעות: 53
|
נשלח בתאריך: 02 June 2005 בשעה 18:49 | | IP רשוּם
|
|
|
|
יש לך הרגלי תיכנות ממש גרועים.
שמות המשתנים לא מובנים.
אין כמעט חלוקה לפונקציות.
משפטי תנאי ארוכים ומסורבלים.
למענך,
השתדל לכתוב את הקוד ברור יותר.
עוד משהו, שימוש ב DEBUG כדי למצוא שגיאות בזמן ריצה יפתרו לך הרבה כאבי ראש.
__________________ -feint
|
חזרה לתחילת העמוד |
|
|
נבט כהן משתמש מתחיל
הצטרף / הצטרפה: 29 May 2005
משתמש: מנותק/ת הודעות: 11
|
נשלח בתאריך: 03 June 2005 בשעה 13:32 | | IP רשוּם
|
|
|
|
טוב, הבנתי את הרמז: הקוד הזה גרוע, נוראי, ובלתי סביל, אני יחפש רעיון אחר.
|
חזרה לתחילת העמוד |
|
|