007המקורי פורסם 2013 בינואר 5 מחבר Share פורסם 2013 בינואר 5 עובד. #include "stdafx.h"#include <iostream>using namespace std;int main(){int num,res=0,sum=0,i=0;cout << "num?";cin >> num;i=num;while (i != 0){ res=(num % 10); sum=(sum+res); num =(num/10);if (num <=10){sum = sum +num;cout << sum <<" sum"<<endl;break;}}char f; cin >>f;return 0;} קישור לתוכן שתף באתרים אחרים More sharing options...
007המקורי פורסם 2013 בינואר 5 מחבר Share פורסם 2013 בינואר 5 עובד. #include "stdafx.h"#include <iostream>using namespace std;int main(){int long num=0,res=0,i=0; cout << "enter number !"; cin >> num ; while (num > 0 ) { num = (num / 10); i++; } cout <<i<< endl; char f; cin >> f; return 0;} קישור לתוכן שתף באתרים אחרים More sharing options...
ירח אפל פורסם 2013 בינואר 5 Share פורסם 2013 בינואר 5 נכון עובדאבל הבדיקה אם המספר קטן מ10 בסוף היא מיותרתהבדיקה היחידה שדרושה היא אם המספר שונה מאפסהינה הקוד שלי#include <iostream>using namespace std;int main() { int num=0; //מספר נתון int i=0; //מונה ספרות int sum=0; // סכום הספרות cout << "enter number !"; cin >> num ; while (num) { //כל עוד המספר שונה מ-0 sum += num%10; //הוסף את ספרת האחדות לסכום הספרות num = (num / 10); //העלם את ספרת האחדות ++i; //הגדל את מונה הספרות ב-1 } cout <<i<< endl; cout <<sum<<endl; return 0;} קישור לתוכן שתף באתרים אחרים More sharing options...
007המקורי פורסם 2013 בינואר 5 מחבר Share פורסם 2013 בינואר 5 הקוד שלך מאוד יעיל!! תודה על השיתוף. קישור לתוכן שתף באתרים אחרים More sharing options...
007המקורי פורסם 2013 בינואר 5 מחבר Share פורסם 2013 בינואר 5 קלוט 10 מיספרים והדפס את הגבוה ביותר.יעיל?זה הקוד. #include "stdafx.h"#include <iostream>using namespace std;int main(){int num=0,i=0,num_y=0;cout << "number!";cin >> num; //קליטה מספר להשוואהfor (i=0;i<9;i++){cout << "number!";cin >> num_y; //קליטה בלולאהif (num >num_y) // השוואה חוזרת:אם אמת קולטים את המיספר הבא{continue;} num = num_y;//השמה במידה והתנאי לא מיתקיים}cout << num <<" num \n";char f;cin >> f;return 0;} קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2013 בינואר 5 Share פורסם 2013 בינואר 5 למה השתמשת ב-continue? זה הופך את הלולאה שלך ללא ממש ברורה.חוץ מזה, מה אומרים השמות num ו-num_y? גם לא ברור ממש. קישור לתוכן שתף באתרים אחרים More sharing options...
007המקורי פורסם 2013 בינואר 5 מחבר Share פורסם 2013 בינואר 5 גירסה יותר יעילה וברורה. #include "stdafx.h"#include <iostream>using namespace std;int main(){int i=0,num=0,x=0,num_max=0,num_sec=0;cout << "number!\n";cin >> num_max;for (i=0;i < 9;i++){cout << "numbr !\n";cin >> num_sec;//cin >> num;if (num_max > num_sec ){ num_max=num_max; num_sec=num_sec;} else{num_max=num_sec;num_sec=num_max;} }cout << num_max <<" num_max"<<endl;//cout<< num_sec << "numsec"<<endl;char f;cin >>f;return 0;} קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2013 בינואר 5 Share פורסם 2013 בינואר 5 למה כל הסרבול הזה? פעולה מהצורה x=x אומרת "קח את הערך שיש עכשיו ב-x, ושים אותו ב-x". מה ההגיון בזה? קישור לתוכן שתף באתרים אחרים More sharing options...
007המקורי פורסם 2013 בינואר 6 מחבר Share פורסם 2013 בינואר 6 קלוט 10 מיספרים והדפס את הגבוה ביותר ואת השני בגודלו.הקוד יעיל? #include "stdafx.h"#include <iostream>using namespace std;int main(){int i=0,num=0,num_max=0,sec=0,x=0,b=0,c=0;cout << "number!\n";cin >> num_max;for (i=0;i < 9;i++){cout << "numbr !\n";cin >> num;c=num_max;if(num_max < num) { x++; num_max=num; }b++;if (b>x){if(sec < num) { sec=num; }}x++;if (c < num){ sec=c;}}cout <<num_max <<" num_max"<<endl;cout<<sec<< "num_sec"<<endl;char f;cin >>f;return 0;} קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2013 בינואר 6 Share פורסם 2013 בינואר 6 אתה חייב לסדר את ההזחה של הקוד. הקוד שלך מאוד לא קריא (מה גם ששמות המשתנים לא עוזרים - מה זה b? c? x?)אתה בכלל מריץ את הקוד לפני שאתה מעלה אותו לכאן? קישור לתוכן שתף באתרים אחרים More sharing options...
karpatzio פורסם 2013 בינואר 6 Share פורסם 2013 בינואר 6 אולי הוא מטרלל, די ברור שהקוד לא עובד, אז לשאול אם הוא יעיל? קישור לתוכן שתף באתרים אחרים More sharing options...
007המקורי פורסם 2013 בינואר 6 מחבר Share פורסם 2013 בינואר 6 הדרך היחידה שלי ליבדוק תקוד זה לטרלל (אני לא עובד עם תוכנה). מצתער על הפשלה הוספתי תנאי וניראה שעובד בסדר. #include "stdafx.h"#include <iostream>using namespace std;int main(){int i=0,num=0,num_max=0,sec=0,x=0,b=0,c=0;cout << "number!\n";cin >> num_max;for (i=0;i < 9;i++){cout << "numbr !\n";cin >> num;c=num_max; //איתחול ליפני הבדיקותif(num_max < num){ //מציאת המקס וקידום המונה ב 1 x++; num_max=num; }b++; //קידום המונה if (b>x){ // השוואה בין המונים if(sec < num){ // sec=num; // חישוב ה sec } } if(num_max > num){ // רק במידה ומקס גדול מ נאם קדם את המונה x++; } if (c < num){ // במידה ו מקס קטן מנאם sec=max sec=c; }}cout <<num_max <<" num_max"<<endl;cout<<sec<< "num_sec"<<endl;char f;cin >>f;return 0;} קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2013 בינואר 6 Share פורסם 2013 בינואר 6 הדרך היחידה שלי ליבדוק תקוד זה לטרלל (אני לא עובד עם תוכנה). אז תעבוד עם תוכנה. אי אפשר לתכנת "על הנייר". תתקין Visual Studio Express: http://go.microsoft.com/?linkid=9816758 ראה מדריך כיצד ליצור פרוייקט ++C בסיסי: ועכשיו תוכל להריץ את הקוד שלך כמה שתרצה. קישור לתוכן שתף באתרים אחרים More sharing options...
007המקורי פורסם 2013 בינואר 6 מחבר Share פורסם 2013 בינואר 6 אני עובד עם התוכנה הזאת Visual Studio Express 2008היתכוונתי לתוכנה שבודקת תוכנה.(סתם זה מה שקפץ לי לראש)חוץ מיזה מה רע בליבדוק זרימה של תוכנית על נייר? קישור לתוכן שתף באתרים אחרים More sharing options...
שניצל פורסם 2013 בינואר 6 Share פורסם 2013 בינואר 6 "לבדוק את הקוד" זה לקמפל, להריץ, ולראות שהוא עושה מה שהוא אמור לעשות. זה לא להשתמש בשום "תוכנת בדיקה".מה רע בלבדוק על נייר? אף אחד לא כותב קוד על נייר, חוץ מתרגילים בסיסיים בבי"ס ובאוניברסיטה. כותבים קוד במחשב. כשמגיעים לכתוב קוד אמיתי, הקוד לא מסתכם ב20 שורות ו-2 לולאות, אלא בעשרות עד מאות קבצים, ואלפי עד עשרות אלפי שורות קוד.ולפני שאתה בודק האם קוד כלשהו הוא יעיל, קודם כל צריך לבדוק שהוא עובד. איך בודקים שהוא עובד? מריצים אותו - ולא רק פעם אחת, אלא כמה פעמים, על כל מיני קלטים שונים, כדי לבדוק שאתה מכסה את כל המקרים. קישור לתוכן שתף באתרים אחרים More sharing options...
Recommended Posts
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.