ParsiKade
شنبه 13 اسفند 1390, 07:06 صبح
سلام،
دوستان باید برنامهای بنویسم که دو عدد ۵۰ رقمی از کاربر دریافت کنه و جمعش رو نشون بده. از مطالبی که قبلاً توی انجمن گفته شده بود و راهنماییهای خود استاد استفاده کردم و کد رو نوشتم ولی مشکلش اینه که فقط وقتی جواب میده که جمع دو عدد متناظر بالاتر از ۱۰ نباشه :لبخند:
هر تغییر دیگهای که سعی میکنم توی t بدم برای اینکه اعداد انتقالی رو حساب کنه، نتیجه خیلی عجیب میشه.
کدی که نوشتم برای اعداد ۳ رقمیه البته:
#include <iostream>
using namespace std;
int main() {
int A[3]={0},B[3]={0},result[4],t=0;
cout << "Enter first number:";
for (int i=0 ; i<3 ; i++) {
cin >> A[i];
}
cout << "Enter second number:";
for (int i=0 ; i<3 ; i++) {
cin >> B[i];
}
for (int i=3 ; i>=0 ; i--) {
if (A[i]+B[i]+t >= 10) {
result [i] = A[i]+B[i]+t%10;
t = A[i]+B[i]+t/10;
} else {
result [i] = A[i]+B[i];
}
}
for (int i=0 ; i < 3 ; i++) {
cout << result [i];
}
return 0;
}
ممنون میشم راهنماییم کنید.
دوستان باید برنامهای بنویسم که دو عدد ۵۰ رقمی از کاربر دریافت کنه و جمعش رو نشون بده. از مطالبی که قبلاً توی انجمن گفته شده بود و راهنماییهای خود استاد استفاده کردم و کد رو نوشتم ولی مشکلش اینه که فقط وقتی جواب میده که جمع دو عدد متناظر بالاتر از ۱۰ نباشه :لبخند:
هر تغییر دیگهای که سعی میکنم توی t بدم برای اینکه اعداد انتقالی رو حساب کنه، نتیجه خیلی عجیب میشه.
کدی که نوشتم برای اعداد ۳ رقمیه البته:
#include <iostream>
using namespace std;
int main() {
int A[3]={0},B[3]={0},result[4],t=0;
cout << "Enter first number:";
for (int i=0 ; i<3 ; i++) {
cin >> A[i];
}
cout << "Enter second number:";
for (int i=0 ; i<3 ; i++) {
cin >> B[i];
}
for (int i=3 ; i>=0 ; i--) {
if (A[i]+B[i]+t >= 10) {
result [i] = A[i]+B[i]+t%10;
t = A[i]+B[i]+t/10;
} else {
result [i] = A[i]+B[i];
}
}
for (int i=0 ; i < 3 ; i++) {
cout << result [i];
}
return 0;
}
ممنون میشم راهنماییم کنید.