עבור לתוכן

פירוק מספר לסיפרותיו ב#C

Featured Replies

פורסם

החופש גרם לי לשכוח את כל שפת #C

טוב, בכל אופן באחת התוכניות שלי אני צריך להשתמש בפירוק מספר לסיפרותיו

מישהו יכול להגיד לי איך לפרק מספר דו תלת ו4 סיפרתי לסיפרותיו

תודה לעוזרים :xyxthumbs:

פורסם

אין לי כוח עכשיו להכנסז למהדר ולכתוב את זה, אבל הרעיון הוא שתשתמש ב%10 כדי לקבל את הספרה האחרונה ואז להוריד אותה ב 10/

פורסם

אין לי כוח עכשיו להכנסז למהדר ולכתוב את זה, אבל הרעיון הוא שתשתמש ב%10 כדי לקבל את הספרה האחרונה ואז להוריד אותה ב 10/

כן, זה הרעיון.

אני אראה לך דוגמה לפונקציה שתחזיר את הסכום של ספרות המספר (לדוגמה: 472 יחזיר 13)


int func(int num)
{
int sum = 0;
while(num != 0)
{
sum += num%10;
num /= 10;
}

return sum;
}

פורסם

ב C# אפשר פשוט להתייחס למספר כ string ולגשת לאינדקסים השונים.

פורסם

כן, אבל כל הקטע הוא לבנות תוכנה שתעשה את זה, סביר להניח שזה תרגיל מבית הספר.

פורסם
  • מחבר

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

בכל אופן תודה רבה, עזרתם מאד.

=]

פורסם

הנה עוד דרך


#include<iostream>
using namespace std;
int main()
{
int x,y,t;
int sum;
int sum2=1;
int sum3=0;
int x1;
int x3;
int h1=0;
int h2=0;
cout<<"Put number here"<<endl;
cin>>x;
sum=x;
for(x3=0;x3<100;x3++)
{
sum2=sum2*10;
sum=sum/10;
if(sum<=10)
{

for(x1=0;x1<100;x1++)
{
h1=h1+sum2;
sum3=sum3+1;
if(h1>x)
{
sum3=sum3-1;
t=sum3;
cout<<t<<endl;
cout<<""<<endl;
h1=h1-sum2;
x=x-h1;
sum2=sum2/10;
h1=0;
sum3=0;
if(x<10)
{
cout<<x<<endl;
cin>>t;
}
}
}
}
}
return 0;
}



פורסם

באמת אפשר להשתמש בשיטה של המודולו 10 והחילוק ב10 אבל גם אפשר לעשות באמת to string ואז לפנות לכל אחת מהספרות על ידי num[] ולבחור במיקום שאתה רוצה...

אבל זה יותר מסורבל.

פורסם

זה הדרך שאני מכיר בכל אופן:

דו ספרתי

units=num%10

tens=num/10

תלת ספרתי

units=num%10

tens=num/10%10

hundreds=num/100

ארבע ספרתי

units=num%10

tens=num%100/10

hundreds=num/100%10

thousands=num/1000

תבדוק שזה עובד זה הכל מהזיכרון...

מקווה שעזרתי :)

פורסם

תכניס את הקוד לתיבת קוד בבקשה

(מסומן כסולמית)

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

פורסם

זה הדרך שאני מכיר בכל אופן:

דו ספרתי

units=num%10

tens=num/10

תלת ספרתי

units=num%10

tens=num/10%10

hundreds=num/100

ארבע ספרתי

units=num%10

tens=num%100/10

hundreds=num/100%10

thousands=num/1000

תבדוק שזה עובד זה הכל מהזיכרון...

מקווה שעזרתי :)

שים סוגריים כדי להות בטוח מה מתבצע קודם !!!

פורסם

int i

i.ToString()

עכשיו יש לך מחרוזת.. ואתה יכול לעבור תו תו...

אם אתה רוצה ערך int של כל ספרה בודדת:

int.Pars - מקבל מחרוזת מחזיר int...

לצורך העניין - עבודה עם מחרוזות לא מומלצת מבחינת perfomence. אז אם הקוד שלך חשוב בו ביצועים..

תתחשב בזה.

פורסם

תקרא את העמוד הראשון לפני שאתה מפרסם תשובה

פורסם

לא הבנתי למה אתה מתכוון:

תקרא את העמוד הראשון לפני שאתה מפרסם תשובה

עדיין ניתן לבצע את הדרך הזו בתוכנה אוטומטית לחלוטין...

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים