راکت
حل شده

سوال در زبان سی پلاس پلاس

3 پاسخ

با سلام و عرض ادب
ببخشید من سوالم این بود اگر بخواهیم با زبان c++ برنامه ای بنویسیم که بتواند اعداد ۱۰ رقمی راه جمع کند چگونه باید آن ها را تعریف کنیم

Sbhnba
Sbhnba
@sbhnba
ثبت پرسش جدید

پاسخ‌ها

3
Mahdi
Mahdi
@molenloras
بهترین پاسخ

اعداد را با long تعریف کنید که مخصوص اعداد بزرگ صحیح هستند، بعد با استفاده از for حلقه بسازید به اینصورت که اگر فرد باید اعداد را وارد کند با cin یا scan دریافت کنید و بعد در یک متغیر مقدار را بریزید مثلاً S، چون حلقه تکرار میشود مجدد عدد دریافت میشود و دوباره در S ریته میشود، پیشنهاد میکنم برای سهولت اعداد با S جمع شوند، اینجا مکان مناسبی برای نشان دادن کد نیست ولی تا حدی که متوجه شوید مینویسم:
(S=0)for
{
cin >> i
S+=i
}
شرط حلقه با خودتان است، اگر تعداد را میدانید میتوانید متغیری مشخص کنید که تعداد عملیات را بشمارد و مثلاً تا 10 بار از کاربر عدد بگیرد، یا اگر باید تمامی اعداد 10 رقمی را جمع بزنید میتوانید شرطی بنویسید که اگر عدد بزرگتر از 9999999999 باشد حلقه تمام شود که اینکار راحت تر است چون راه های دیگر نیاز به حلقه ای جدا دارد.

b.nik
b.nik
@b.nik

تخصص: آزاد

کدش رو براتون گذاشتم

#include <stdio.h>
int main(){
     char number1[1001];
     char number2[1001];
     char number3[1002];
     scanf("%s",number1);
     scanf("%s",number2);
     int i,j;
     for(i=0;number1[i];i++);
     i--;
     for(j=0;number2[j];j++);
     j--;
     int sum,r=0,index=0;
     while(i>=0 && j>=0){
        sum = (number1[i]-'0')+(number2[j]-'0') + r;
        r =  sum /10;
        number3[index]= (sum % 10) + '0';
        index++;
        i--;
        j--;
     }
     while(i>=0){
        sum = (number1[i]-'0')+ r;
        r =  sum /10;
        number3[index]= (sum %10) + '0';
        index++;
        i--;
    }
    while(j>=0){
        sum =(number2[j]-'0') + r;
        r =  sum /10;
        number3[index]= (sum %10) + '0';
        index++;
        j--;
     }
     if (r>0){
        sum =r;
        number3[index]= (sum %10) + '0';
        index++;
     }
    while(index>=0){
        index--;
        printf("%c",number3[index]);
    } 
}
Sbhnba
Sbhnba
@sbhnba

تخصص: دانش آموز

خیلی ممنونم

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام