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

}

}

deque<int> summa = deque<int>(); // сюда записывается результат

int temp = 0; // 1 для добавления к старшему разряду

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

if (big1.vect.size() >= big2.vect.size()) // ставим большее число на первое место

{

for (int i = big1.vect.size() – 1, j = big2.vect.size() – 1; j >=0; i–, j–) // начиная с первых разрядов складываем числа

{

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

if ((big1.vect.at(i) + big2.vect.at(j) + temp) >= 10) temp = 1; else temp = 0; // прибавляем 1 наследующемшаге, еслисуммабольше 10

metka = i;

}

for (int i = metka-1; i >= 0; i–) // начиная с позиции метки добиваем цифрами из большего числа, учитывая возможное прибавление 1

{

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

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

}

if (temp == 1) summa.push_front(1); // срабатывает в случае когда увеличивается разряд, например 99+1=100

}

else

{

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

{

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

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

metka = i;

}

for (int i = metka-1; i >= 0; i–)

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