פורסם 2013 בינואר 612 שנים מחבר דרך אגב הקוד שהעלתי לפה נחשב לולאה 1 או 2? עם 2 לולאות לימצוא תמיספר השני זה קל, אבל השאלה יתיחסה ללולאה אחת בילבד.
פורסם 2013 בינואר 612 שנים מחבר שאלה נחמדה . מכניסים מיספר(אחד) - שתואם לאות באלף בית האנגלי דוגמא 3=C 2=B 1=A וכך אלה... לדוגמא : אם נקיש 3 האות A תופיע פעם אחת האות B פעמיים האות C שלוש פעמים כך יראה הפלט: ABBCCC הקוד ניראה לי יעיל מאוד #include "stdafx.h"#include <iostream>using namespace std;int main (){char A=65;int counter=0,i=0,in_count=0;cout << "number ! "<< endl;cin >> counter;for (i=0;i<counter;i++){in_count=i;in_count++;while (in_count >0){ cout << A ; in_count--;}A++;//} char f;cin >> f;return 0;}
פורסם 2013 בינואר 612 שנים הקוד עובד, אבל לא הצלחתי להבין בשביל מה צריך כל כךהרבה ++ -- בתוך הלולאהדרך אגב, אתה יודע מה ההבדל בין ++i לבין i++?שים לב מה יש בתוך הfor אצלךיש הצבה התחלתית בin_counteיש תנאי סיוםויש הקטנה שלו ב1 ללי זה נשמע שצריך להיותשם for נוסף ולא whileבנוסף תמיד מומלץ לבצע בדיקת קלט. מה שאתה לא ביצעת כלל בתוכניות כאןככה אני הייתי בונה את התרגיל הזהinclude <iostream>using namespace std;int main(){ int num=0,i=1,j; char letter=65; cout << "Enter num (1-26)"<<endl; cin >> num; if ((num<1) || (num >26)) return 1;// בדיקת חוקיות הקלט do { for (j=0;j<i;++j) cout << letter;//הדפסה ++letter; } while (i++ < num); cout <<endl; return 0;}
פורסם 2013 בינואר 612 שנים מחבר הקוד שלך "סופר יעיל". לא שמתי לב (ידוע לי ההבדל) for (i=0;i<counter;++i){// in_count++; במקום ++iin_count=i;//in_count++;
פורסם 2013 בינואר 712 שנים מחבר אחרונה לבנתיים קלוט 2 מישתנים והדפס מלבן כוכביות בהתאם. דוגמא:עבור הקלט 3 , 6 הפלט יראה כך: ****** ****** ****** שני גירסאות לקוד. 1. #include "stdafx.h"#include <iostream>using namespace std;int main (){char star=42;int lines=0,i=0,num=0,start=0;cout << "number and lines! "<< endl;cin >> num;cin >> lines;for(i=0;lines>i;i++){start = num;while(start>0 ){cout << star ;start--;}cout << "\n";} char f;cin >> f;return 0;}
פורסם 2013 בינואר 712 שנים מחבר גירסה 2הקוד. #include "stdafx.h"#include <iostream>using namespace std;int main (){char star=42;int lines=0,i=0,num=0,start=0,j=0;cout << "number and lines! "<< endl;cin >> num;cin >> lines;for(i=0;lines>i;i++){for (j=0;num>j;j++){cout << star;}cout << "\n";}char f;cin >> f;return 0;}
פורסם 2013 בינואר 712 שנים לא הבנתי למה אתה רושם 42 ולא פשוט '*'. בכל מקרה הגרסה השנייה יותר טובה - אין שום סיבה להשתמש ב-while איפה שמתאים for.ואני אחזור ואומר: הסידור של הקוד שלך על הפנים. שים כל פקודה בשורה משלה ותדאג להזחות נורמליות של הקוד.
פורסם 2013 בינואר 712 שנים מחבר אני עובד עכשיו עם שפת "c" visual express 2008איך אני משהה את מסך הפלט(איזו פקודה לירשום?)תודה
פורסם 2013 בינואר 712 שנים מחבר בזמן הקימפול קיבלתי אזהרות.1>c:\users\q\documents\visual studio 2008\projects\test2\test2.cpp(9) : warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.1> c:\program files\microsoft visual studio 9.0\vc\include\stdio.h(306) : see declaration of 'scanf'1>c:\users\q\documents\visual studio 2008\projects\test2\test2.cpp(14) : warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.1> c:\program files\microsoft visual studio 9.0\vc\include\conio.h(145) : see declaration of 'getch'זה באמת משנה(אני אמור לעבוד השמות החדשים?)
פורסם 2013 בינואר 812 שנים מחבר מערכים הגדר מערך בעל 10 איברים וקלוט לתוכו ציונים,הדפס תציונים מהסוף להתחלה.(לא קשה)הקוד #include "stdafx.h"#include <stdio.h>#include <conio.h>void main(){int grades[10],i=0;printf(" enter 10 grades !\n");for(i=0;i<10;i++)scanf("%d",&grades[i]);for (i=9;i>=0;i--)printf("%d\n",grades[i]);getch();}
פורסם 2013 בינואר 812 שנים רק הערה קטנה: אל תכתוב void main אלא int main, ובסוף הקוד ;return 0 לשאלתך הקודמת: אין הבדל בין getch ו-getch_, זה רק השם. בעקרון זו לא פונקציה סטנדרטית ולא אמורים להשתמש בה, אבל רק לצורך תרגול זה בסדר (גם ככה אתה משתמש בזה רק כדי שהחלון לא יסגר בסוף התכנית). לגבי scanf_s, שימוש ב-scanf על מנת לקלוט מחרוזות (כלומר קליטת "s%") הוא שימוש לא בטוח (חשוף לגלישת חוצץ) ולכן מיקרוסופט ממליצים להשתמש בגרסה יותר בטוחה שלה, scanf_s (שמגבילה את גודל המחרוזת שניתן לקרוא מהמשתמש, ולכן ניתן ככה למנוע גלישת חוצץ). אם אתה לא משתמש ב-scanf על מנת לקלוט מחרוזות (אלא רק מספרים, לדוגמה) אז אין בכלל בעיה. בכל מקרה כיוון שמדובר רק בתרגילים בסיסיים גם זה לא חשוב במיוחד כרגע.
פורסם 2013 בינואר 812 שנים מחבר תודה רבה על הפירוט.שאני כותב int main---return 0אין לי השהיה של מסך הפלטפה הם כותבים את זה בלי ה int וזה עובדhttp://www.programmingsimplified.com/c/conio.h/getch יש לך במיקרה "טריק" אחר ת שיעבוד גם עם int?***************************************************הגדר מערך בן 10 איברים וקלוט לתוכו ציונים ,והדפס ציונים שהם מעל 90.הקוד #include "stdafx.h"#include <stdio.h>#include <conio.h>int main(){int grades [10],i=0;printf ("enter 10 grades!");for (i=0;i<10;i++)scanf ("%d",&grades[i]);for (i=0;i<10;i++)if (grades[i]>90)printf ("%d\n",grades[i]);getch();return 0;}
פורסם 2013 בינואר 812 שנים זה שאפשר לכתוב קוד כלשהו לא אומר שזה נכון.התקן אומר שצריך int main.אם אין לך השהיה של המסך זה אומר ששמת את ה-return 0 במקום הלא נכון. דווקא בקוד שהעלית עכשיו זה בסדר.הקוד סבבה, אם כי כמו שאמרתי כבר קודם, כשיש לך for/if/while אז מומלץ תמיד לשים סוגריים מסולסלים, גם אם זו רק פקודה אחת. דהיינו:for (i=0;i<10;i++) { scanf ("%d",&grades[i]);}
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.