Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

שאלה בc++

2 views
Skip to first unread message

יוסי

unread,
Aug 5, 2010, 10:13:03 AM8/5/10
to

--
שלום התחלתי ללמוד את השפה
ויש לי שאלה שאני צריך עזרה

1. קלוט מהמשתמש מספר וייצר מספר חדש כך שבמקום כל ספרה תופיע הספרה המשלימה ל-
10.
דוגמא: עבור המספר 123 יש לייצר את המספר 987, מאחר ו-7 משלימה את 3 ל- 10, 8
משלימה את 2 ל- 10 ו- 9 משלימה את 1 לעשר.

איך אני כותב את זה?
--

pd

unread,
Aug 6, 2010, 7:46:03 AM8/6/10
to
שלום.
האם השאלה שלך היא בתיכנות? או בלוגיקה? האם אם נייר ועפרון אתה יודע להגדיר מה
השלבים שצריך לעשות כדי להגיע לפתרון? - נסה קודם להגדיר לעצמך ולכתוב על דף שלב
שלב מה צריך לבצע כדי להגיע לפתרון לא בC++ אלא במילים שלך - ותראה שהכל נהיה
הרבה יותר פשוט. שלב שני לתרגם את זה ל C++. אם עדיין תסתבך, תחזור ואשתדל לעזור.
בהצלחה, ואם עזרתי - לחץ ''כן''.

"יוסי":

יוסי

unread,
Aug 6, 2010, 2:22:03 PM8/6/10
to
#include <iostream>
using namespace std;

void main()
{

int num,x;

cout <<"please enter a number: ";
cin >>num;

cout <<"your new number is: ";
while (num>0)
{
x = 10-(num%10);
num = num/10;
cout <<x;
}
cout <<"\n";


}
איפה הטעות שלי יוצא 789
במקום 987
--
יוסי


"pd":

pd

unread,
Aug 8, 2010, 2:53:03 AM8/8/10
to
שלום יוסי.
הסיבה היא פשוטה - אתה 'עובד' כל פעם על השארית כלומר במספר 123 אתה מחלק ב 10
ומוצא את השארית שהיא 3 ואז מחשב מה מהספר המשלים ל10 אבל אז יוצא שאתה מחשב
קודם את המשלים ל10 של 3 אחכ של 2 ואחכ של 1 וישר מציג אותם למשתמש ולכן הסדר
הפוך.
אתה יכול למשל להוציא את השורה:
cout <<x;
מהלולאה ובמקומה להכניס מערך של מספרים, שכל פלט יוכנס כאבר במערך, ואז מחוץ
ללולאה להדפיס את אברי המערך בסדר הפוך (של האינדקס) בעזרת לולאה שרצה על המערך
או פונקציה יעודית.
0 new messages