Курсовая работа: Реализация класса больших чисел

summa.push_front((big2.vect.at(i)+temp)%10);

if ((big2.vect.at(i) + temp) == 10) temp = 1; else temp = 0;

}

if (temp == 1) summa.push_front(1);

}

big1.vect = summa;

return big1;

}

// ________________________ Разностьбольшихчисел ________________

BigInteger rasnost (BigInteger big1, BigInteger big2)

{

if (big2.znak == '-') big2.znak = ' '; // x–y преобразуем в x+y и передаем в метод суммы

else big2.znak = '-';

if (big1.znak == big2.znak) return summa (big1, big2); // – x-y преобразуемв– (x+y) передаемметодусуммы

deque<int> rasn = deque<int>(); // сюда записывается разность

int temp = 0; // 1 для вычитания из старшего разряда

int metka = 0; // для вычисления позиции, с которой остаются разряды только одного числа

big1 = dell_null(big1); // предварительно удаляем незначащие нули из начала числа

big2 = dell_null(big2);

if (sravnenie (big1, big2)!= -1) // ставим большее число сверху в столбике

{

for (int i = big1.vect.size() – 1, j = big2.vect.size() – 1; j >=0; i–, j–)

{

if ((big1.vect.at(i) – big2.vect.at(j) + temp) >= 0) // поразрядновычитаем

{

rasn.push_front (big1.vect.at(i) – big2.vect.at(j) + temp);

temp = 0;

}

else

К-во Просмотров: 434
Бесплатно скачать Курсовая работа: Реализация класса больших чисел