Klamer4o93
01-06-2010, 19:56
Здравейте,
имам индивидуална задача по информатика, в която трябва две числа да се сравнят, да се намери сборът им, разлика и произведението , като условието е да се изпозлват масиви, като всеки елемент от масива, отговаря на една цифра от числото. Успях да се справя със всичко, освен разликата. Тя си работи по принцип, но в някои случаи като например при числата
9999 и 2 изписва грешен резултат. Спешно ми трябва помощ! Ето кода за разликата (или го редактирайте или напишете нов):
//razlika
if (big==1||big==0) {brD=brA;for(k=0;k<=brD;k++) {
if(a[k]<b[k]){a[k]=a[k]+10;a[k+1]=a[k+1]-1;}d[k]=a[k]-b[k];}}
else
if (big==-1) {brD=brB;for(k=0;k<=brD;k++) {
if(b[k]<a[k]){b[k]=b[k]+10;b[k+1]=b[k+1]-1;}d[k]=b[k]-a[k];}}
//izhod na razlika
proverka(d,brD);
cout<<"nThe subtraction is ";
for(k=brD-1;k>=0;k--) cout<<d[k];
Уточнения: big казва кое от двете числа е по-голямо;
brA е броят на цифрите на числото А
brB е броят на цифрите на числото Б
ПОМОЩ!!!
имам индивидуална задача по информатика, в която трябва две числа да се сравнят, да се намери сборът им, разлика и произведението , като условието е да се изпозлват масиви, като всеки елемент от масива, отговаря на една цифра от числото. Успях да се справя със всичко, освен разликата. Тя си работи по принцип, но в някои случаи като например при числата
9999 и 2 изписва грешен резултат. Спешно ми трябва помощ! Ето кода за разликата (или го редактирайте или напишете нов):
//razlika
if (big==1||big==0) {brD=brA;for(k=0;k<=brD;k++) {
if(a[k]<b[k]){a[k]=a[k]+10;a[k+1]=a[k+1]-1;}d[k]=a[k]-b[k];}}
else
if (big==-1) {brD=brB;for(k=0;k<=brD;k++) {
if(b[k]<a[k]){b[k]=b[k]+10;b[k+1]=b[k+1]-1;}d[k]=b[k]-a[k];}}
//izhod na razlika
proverka(d,brD);
cout<<"nThe subtraction is ";
for(k=brD-1;k>=0;k--) cout<<d[k];
Уточнения: big казва кое от двете числа е по-голямо;
brA е броят на цифрите на числото А
brB е броят на цифрите на числото Б
ПОМОЩ!!!