הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [C#]חיבור מספרים בעזרת לולאה (https://hosts.co.il/forums/showthread.php?t=31982)

stav 02-10-06 14:50

[C#]חיבור מספרים בעזרת לולאה
 
שלום לכולם ,
אני צריך לרשום תוכנית ב C# ,שתקבל מספר נגיד 123 ותחבר את הספרות 1+2+3 ותראה את הסכום שלהם , רצוי בעזרת לולאה אבל לא חובה.
משהו יכול לעזור לי באופן המתמטי איך אני יכול לעשות את זה? ורעיון איך לבצע בעזרת לולאה ?

תודה מראש
סתו.

Radio-DLL.co.il 02-10-06 15:00

חחח
עשנו את שנה שעברה
אתה רוצה שאני יכתוב לך תוכנית או איך לבצע את זה?
בנתיים אני ירשום איך לבצע אם תרצה תוכנית אחרי זה...

לקלוט מספר בעל 3 ספרות
לחלק את המספר ב100 (ללא שארית {\})
למשור המתשנה אחד
אחרי זה להחסיר מהמספר המלא את המשתנה ששמרתה*100
עכשיו אתה מחלק ב10 ללא שארית שומר במשתנה
מהמספר הדו סיפרתיש יצא קודם אתה מחסיר את המשתנה *10
ויוצא לך הספרה האחרונה מחבר הכל וזהו...
בהצלחה

stav 02-10-06 17:00

אני לא רוצה שתרשום לי קטע קוד .
אבל אתה יכול להסביר טיפה יותר, לא כל כך הבנתי .

RS324 02-10-06 18:00

בלי קשר ל C
תסתכל :

אתה קולט מספר לדוגמא 567

עכשיו בשביל לקבל את הספרה השמאלית ביותר אתה מחלק ב 100
ואז יוצא לך 5.67 אתה משתמש כנראה ב MOD בשביל לקבל את ה 5
אחרי זה אתה עושה 5*100 זה יוצא לך 500
אז אתה עושה המספר המקורי פחות ה 500
אתה מקבל 67
עכשיו אתה מחלק ב 10 ללא שארית ומקבל 6
ואז אתה מכפיל את 6 ב 10 ויוצא לך 60
ואז אתה עושה 67 -60 ויוצא לך 7 שזה בעצם הספרה האחרונה
ואז אחרי שבודדת את כל הספרות.
אתה פשוט מחבר אותם..

stav 02-10-06 18:30

תודה רבה לכם !
הבנתי עכשיו הכל מעולה , עכשיו אם יש למישהו מכם רעיון איך לבצע את זה בעזרת לולאה זה יהיה מעולה .
עוד פעם תודה ענקית.

RS324 02-10-06 19:02

ציטוט:

נכתב במקור על ידי stav
תודה רבה לכם !
הבנתי עכשיו הכל מעולה , עכשיו אם יש למישהו מכם רעיון איך לבצע את זה בעזרת לולאה זה יהיה מעולה .
עוד פעם תודה ענקית.

בשביל מה אתה צריך לולאה ?
בשביל 3 שורות ?

stav 02-10-06 19:11

זה לא אני צריך זה המורה צריך .
אני מסתדר עם מה שהסברתם לי .

RS324 02-10-06 19:13

תתן את השאלה המדוייקת
זה יותר שאלת מחשבה מאשר תיכנות.

stav 02-10-06 20:11

זה לא תרגיל או משהו , זה משהו המורה ביקש לעשות ולא הצלחתי , היה אחד שהצליח והוא אמר לעשות את זה בעזרת לולאה .

CoCa 02-10-06 20:17

קוד:

sum=0;
while (num>=1)
{
sum+=num%10;
num/=10;
}

כאשר num הוא המספר ההתחלתי
sum הוא תוצאת החיבור של הספרות

מקווה שעזרתי. אם לא הבנת מה הולך שם אז תשאל.

stav 02-10-06 21:37

לא הבנתי את גוף הלולאה , אתה יכול להסביר ?

CoCa 02-10-06 21:49

% זה פונקצייה שנקראת מודולו או בקיצור MOD. היא מחזירה את השארית דוגמא 234%100=34
בוא ניקח מספר לדוגמא ונעבור על מה שהפונקציה עושה והמספר הוא :4456

כניסה ראושנה ללולאה:
קוד:

sum+=4456%10
נוסף המספר 6 לSUM. וכרגע sum=6
קוד:

num/=10
כך בעצם אנו מורידים את הספרה 6 מהמספר. 4456/10=\445
כניסה שנייה ללולאה:
קוד:

sum+=445%10
נוסף המספר 5 לSUM וכרגע sum=6+5=11
קוד:

num/=10
הורדנו את הספר האחרונה 445\10=44
כניסה שלישית ללולאה:
קוד:

sum+=44%10
נוסף המספר 4. sum=6+5+4=15
קוד:

num/=10
הורדנו את הספרה האחרונה 44/1=4
כניסה רביעית ללולאה:
קוד:

sum+=4%10
נוסף המספר 4. sum=6+5+4+4=19
קוד:

num/=10
מתוצאת החלוקה הזו יוצא מספר קטן מ-1 4/10<1
ואז התוכנית לא ממשיכה עם הלולאה וקיבלנו את סכום הספרות.

מקווה שאחרי ההסבר הזה הבנת. בהצלחה!

stav 02-10-06 21:59

וואו הסבר מדהים !
תודה רבה רבה על ההסבר הבנתי הכל .
שוב פעם תודה ענקית לך וכל מי שעזר לי באשכול !


כל הזמנים הם GMT +2. הזמן כעת הוא 06:06.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ