Vega פורסם 2004 בספטמבר 7 Share פורסם 2004 בספטמבר 7 שלום, קיבלתי היום במסגרת שיעורי מדעי המחשב ב' (חזרה על החומר של א') תרגיל.להלן המשימה, איך שפירקתי אותה(זה לא נדרש במשימה) לתת משימות ומה שניסיתי לעשות בשפת C אבל לא ממש עובד...תרגיל כיתה: צור לולאה שתבדוק אילו מספרים בין 20-70 הוא ראשוני.שיעורי בית: כתוב קטע תוכנית המדפיסה את כל המספרים הראשוניים בין 20-700.ראשוני מתחלק בעצמו ובאחדלעשות for שרץ מ1+ עד 699.לעשות for פנימי שמחלק את מונה הפור הראשי במונה הפור הפנימי. אם תתגלה תוצאה "שארית=0" אז הערך 1 יושם במשתנה flag. כאשר תגמר הפעולה בפור הפנימי יבדק: אם flag לא שווה אז יודפס ערכה של מונה הלולאה הראשית. כעת מתחילה מהתחלה הלולאה עד שמונה יהיה שווה ל699.#include <stdio.h>#include <conio.h>void main(){int flag=0,i=0,c,j;rdfor(c=0;c<=I;c++){for(j=1;j<c;j++){if (i%j==0) flag=1;}if (flag!=1) printf("%d",i);אם משהו לא מובן לכם תגידו לי, יכול להיות שזה יקרה כי כתבתי את זה בזמן השיעור (ולא ציפיתי שמישהו אחר יקרא את זה אח"כ).תודה רבה רבה!Vega קישור לתוכן שתף באתרים אחרים More sharing options...
Sikamikanico פורסם 2004 בספטמבר 7 Share פורסם 2004 בספטמבר 7 היה לך בלבול קטן עם המשתנים.תנסה ככה:void main(){int flag=0,c,j;for(c=1;c<=700;c++){ for(j=1;j<c;j++) if (c%j==0) flag=1; if (flag!=1) printf("%d",c);}} קישור לתוכן שתף באתרים אחרים More sharing options...
BURTON פורסם 2004 בספטמבר 7 Share פורסם 2004 בספטמבר 7 דבר שני תעשה שהטקסט יופיע בצד שמאל שיהיה נוח לקריאה ואל תשכח טאביםדבר שלישי הדיבגר הפסיק לעבוד??הייתי שם ברייקפויינט ורואה שהלולאה יוצאת אחריי פעם אחת ומבין שמשהו בתנאי לא נכון קישור לתוכן שתף באתרים אחרים More sharing options...
Ghosthunter פורסם 2004 בספטמבר 7 Share פורסם 2004 בספטמבר 7 מה הקומפיילר אומר כשאתה מריף את זהזה נראה כי שכחת לסגור צומדיים ורשמת DS בסוף השורה של הINT קישור לתוכן שתף באתרים אחרים More sharing options...
Vega פורסם 2004 בספטמבר 7 מחבר Share פורסם 2004 בספטמבר 7 תודה על העזרה, ואחלה קוד. אבל קשה קצת להבין מה בדיוק שינית, תוכל להסביר לי?כמו כן, דבר נוסף - מישהו מוכן להסביר לי איך עושים scoring (רווחים), כלומר שמזיזים כל פעם את הקוד שורה קדימה או שתי שורות כדי שיהיה נוח יותר לקרוא... קישור לתוכן שתף באתרים אחרים More sharing options...
Vega פורסם 2004 בספטמבר 7 מחבר Share פורסם 2004 בספטמבר 7 אחי, הקוד שהבאתי לי לא עובד, זה פשוט לא רושם כלום. (אין התראת דיבגר). קישור לתוכן שתף באתרים אחרים More sharing options...
infer73 פורסם 2004 בספטמבר 7 Share פורסם 2004 בספטמבר 7 #include<stdio.h>#include<conio.h>void main(){int i,j,flag;clrscr();flag=0;for (i=2,i<700,i++){ for (j=2,j<i,j++){ if (i%j==0) flag++; } if (flag>0) printf("%d ",i); if (i==2) printf("2 "); flag=0;}getch();}אני חושב שזה יעבוד אבל לא ניסיתי כי אני לאבמחשב שלי (הוא מת כרגע)חבל שהוא מת כרגע,כי אני כתבתי פעם תוכניתממש טובה שעושה את זהלא יצא לי בדיוק לחשוב איך לעשות שגם 2 יעבוד,אז הוספתי לו שורה,אבל יכול להיות שהיא מיותרת,אם 2 יודפס לך פעמיים,אז תמחוק את הIF ואת השורהשמדפיסה "2" וזה יעבוד (אני חושב) קישור לתוכן שתף באתרים אחרים More sharing options...
Vega פורסם 2004 בספטמבר 7 מחבר Share פורסם 2004 בספטמבר 7 ניסיון נוסף שלי, בבקשה תעזור לי זה דחוף למחר - יש לי שיעור עם מרכז המגמה....!#include<stdio.h>#include<conio.h>void main(){int i,j,flag=0,c;clrscr();flag=0;for (i=20;i<=700;i++){ for(j=3;j<(i/2);j++) { if(i%j==0 && i!=1 && i!=j) printf("%d \n",i); }}getch();} קישור לתוכן שתף באתרים אחרים More sharing options...
infer73 פורסם 2004 בספטמבר 7 Share פורסם 2004 בספטמבר 7 דבר ראשון תיישר תמיד לשמאלזה מעצבן ככהשנית,האם בדקת אם מה שאני כתבתי עובד?אומנם כתבתי את זה על 2-699 (כולל)אבל לא נורא,לא יהיה קשה לשנותעכשיו ככה,למה כתבת את זה: j<(i/2)לא הבנתי למהוגם את זה לא:i!=1הרי I לא יכול להיות שווה לאחד,הכי קטן שהוא יהיה זה 20שנית,אתה לא משתמש בFLAG,או שתשתמש או שתמחוק אותושלישית,אותו הדבר עם Cרביעית,לא הבנתי את זה, שהרי תמיד זה יהיה נכון:i!=jI לא יכול להיות שווה לJ כי הלולאה של J רצה רק עד חצי I (שוב,לא הבנתי למה)תנסה לעקוב אחרי התוכנית שאני כתבתי בתור טיוטהאני חושב שהיא עובדת,אם לא אני מצטער אבל מאוחר ואני הולך לישון בקרובלא יהיה לי זמן לכתוב שוב קישור לתוכן שתף באתרים אחרים More sharing options...
Vega פורסם 2004 בספטמבר 7 מחבר Share פורסם 2004 בספטמבר 7 איזה תוכנית כתבת? קישור לתוכן שתף באתרים אחרים More sharing options...
Holy פורסם 2004 בספטמבר 7 Share פורסם 2004 בספטמבר 7 הריצה עד חצי i היא בשביל לחסוך זמן ריצה, לא יכול להיות שמספר יתחלק במספר הגדול מחצי ממנו. לכן מספיק לבדוק אם הוא מתחלק בכל המספרים מ-2 עד מחצית ממנו.חוץ מזה התוכנית שלך ממש לא נכונה vega קישור לתוכן שתף באתרים אחרים More sharing options...
infer73 פורסם 2004 בספטמבר 7 Share פורסם 2004 בספטמבר 7 צודק לא חשבתי על זהאבל חסיכת זמן ריצה זאת לא הבעיה שלי,קודם שיעבוד בלי בעיות,אחרי זה נדברהתוכנית שכתבתי נמצאת כמה תגובות למעלה בתגובה שלי (דאאא) קישור לתוכן שתף באתרים אחרים More sharing options...
Vega פורסם 2004 בספטמבר 7 מחבר Share פורסם 2004 בספטמבר 7 כן, אני מודע לזה ומוזר לי שלא הכנסתי את זה בקוד, כנראה שטעיתי.. אני די שיכור מעייפות. תשמע אני ממש לא רוצה להיות מהאנשים המעצבנים האלה שבאים ומבקשים ש"יעשו להם" את השיעורי בית אבל ישבתי על זה יותר משעתיים וכל החברים שלי עסוקים בפיזיקה ואני פשוט חייב להביא את זה מחר לרכז של המגמה שלי או שהוא קוצץ ראשים.. :S:S אנא ממך Holy, הושיעני! קישור לתוכן שתף באתרים אחרים More sharing options...
infer73 פורסם 2004 בספטמבר 7 Share פורסם 2004 בספטמבר 7 בדקת האם התוכנית שאני כתבתי תעבוד?אני חושב שכן,אבל אני לא בטוח ואין לי קומפיילר כאןאז אני לא יכול לבדוקהיא אומנם רצה מ2 עד 699,אבלאפשר לשנות את זה ל20 עד 700 בלי שום בעיהאני הלכתי לישון,מקווה שהתוכנית תעזור לך,אם לא,אני מצטער מראש קישור לתוכן שתף באתרים אחרים More sharing options...
Vega פורסם 2004 בספטמבר 7 מחבר Share פורסם 2004 בספטמבר 7 #include<stdio.h>#include<conio.h>void main(){int i,j,flag;clrscr();flag=0;for (i=2,i<700,i++){ for (j=2,j<i,j++){ if (i%j==0) flag++; } if (flag>0) printf("%d ",i); if (i==2) printf("2 "); flag=0;}getch();}תקלה בשורה 8 - Unexpected > check parenthesis in function main...WTF? קישור לתוכן שתף באתרים אחרים More sharing options...
Recommended Posts
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.