5 / 5 / 1
Регистрация: 10.03.2012
Сообщений: 121
|
|||||||||||
1 | |||||||||||
Сложение столбиков двух массивов чисел21.03.2013, 02:46. Показов 5766. Ответов 18
Метки нет (Все метки)
Например есть два массива
Беру остаток от деления на 10 суммы двух элементов массива и одинаковыми индексами, а как сделать перенос 1цы в следующий разряд не пойму.
0
|
21.03.2013, 02:46 | |
Ответы с готовыми решениями:
18
Сложение двух массивов Сложение двух массивов. Сложение двух чаровских массивов Сложение двух динамических массивов char* в одну строку |
алкокодер
157 / 153 / 41
Регистрация: 27.12.2012
Сообщений: 550
|
|
21.03.2013, 03:03 | 2 |
1
|
5 / 5 / 1
Регистрация: 10.03.2012
Сообщений: 121
|
||||||
21.03.2013, 13:50 [ТС] | 3 | |||||
не особо понимаю, как сказанное в этой теме реализовать на моем примере, не могли бы вы показать?
Добавлено через 25 минут Все, разобрался. Может кому понадобится код всей программы. "Сложение больших чисел столбиком"
Теперь не могу сделать вычитание, прошу рассказать хотя бы алгоритм, заранее спасибо!
0
|
419 / 418 / 167
Регистрация: 28.11.2010
Сообщений: 1,183
|
|
21.03.2013, 15:05 | 4 |
Вычитаете начиная с младшего разряда, если уменьшаемое меньше вычитаемого прибавляем 10 к уменьшаемому, производим вычитание, затем вычитаем единицу из вычитаемого следующего разряда и т.д.. Если заем из разряда старше вашего старшего - получили отрицательное число
Добавлено через 8 минут И еще, вы фактически для хранения одного разряда используете 4 байта, хотя по логике вашей задачи - достаточно 1 байта (даже его половины). Почему не сделать массив unsigned char?
1
|
5 / 5 / 1
Регистрация: 10.03.2012
Сообщений: 121
|
||||||
21.03.2013, 20:36 [ТС] | 5 | |||||
спасибо за описание алгоритма, только поправочка:
Добавлено через 1 минуту И вдруг кому понадобиться, выкладываю код функции вычитания:
0
|
5 / 5 / 1
Регистрация: 10.03.2012
Сообщений: 121
|
|
21.03.2013, 21:25 [ТС] | 6 |
еще вопрос: Почему например при вычитании\сложении числа, например: a[]={123456789844346} + b[]={53262354312} все считает нормально, а если ввожу a[]={999999999999999} + b[]={99999999999}
0
|
алкокодер
157 / 153 / 41
Регистрация: 27.12.2012
Сообщений: 550
|
||||||
21.03.2013, 21:52 | 7 | |||||
PlayaRC, для int максимальное значение 2 147 483 647
Добавлено через 2 минуты если нужно складывать такие большие числа, используй long long int http://ru.wikipedia.org/wiki/Limits.h Добавлено через 1 минуту
1
|
5 / 5 / 1
Регистрация: 10.03.2012
Сообщений: 121
|
|
21.03.2013, 21:59 [ТС] | 8 |
0
|
алкокодер
157 / 153 / 41
Регистрация: 27.12.2012
Сообщений: 550
|
|
21.03.2013, 22:18 | 9 |
PlayaRC, ой, точно же)
а ты функции правильные размеры массивов передаёшь?
1
|
5 / 5 / 1
Регистрация: 10.03.2012
Сообщений: 121
|
||||||
21.03.2013, 22:25 [ТС] | 10 | |||||
вот весь код, вроде правильные
0
|
алкокодер
157 / 153 / 41
Регистрация: 27.12.2012
Сообщений: 550
|
||||||
21.03.2013, 22:53 | 11 | |||||
1
|
5 / 5 / 1
Регистрация: 10.03.2012
Сообщений: 121
|
|
21.03.2013, 22:57 [ТС] | 12 |
Без нее будет не правильно считать
0
|
алкокодер
157 / 153 / 41
Регистрация: 27.12.2012
Сообщений: 550
|
|
21.03.2013, 23:04 | 13 |
PlayaRC, да я понял уже, но ошибка где то там выходит.
1
|
5 / 5 / 1
Регистрация: 10.03.2012
Сообщений: 121
|
|
21.03.2013, 23:12 [ТС] | 14 |
если ошибку в результате еще можно предположить, а вот почему оно даже выводиться с ошибками?
0
|
алкокодер
157 / 153 / 41
Регистрация: 27.12.2012
Сообщений: 550
|
||||||
21.03.2013, 23:21 | 15 | |||||
Добавлено через 1 минуту Выводится не с ошибками, выводится то что вы изменяете массив a[] в функции sum, воизбежании подобного нужно выгрузить из а во временный массив.
1
|
5 / 5 / 1
Регистрация: 10.03.2012
Сообщений: 121
|
|
21.03.2013, 23:25 [ТС] | 16 |
0
|
алкокодер
157 / 153 / 41
Регистрация: 27.12.2012
Сообщений: 550
|
|
21.03.2013, 23:28 | 17 |
PlayaRC, пока ковырялся, заметил что если вводить первое меньше второго то результат разности не корректен.
1
|
5 / 5 / 1
Регистрация: 10.03.2012
Сообщений: 121
|
|
21.03.2013, 23:31 [ТС] | 18 |
0
|
алкокодер
157 / 153 / 41
Регистрация: 27.12.2012
Сообщений: 550
|
|
21.03.2013, 23:32 | 19 |
с числами одинаковой длины, вообще ничего не выводится.
Добавлено через 1 минуту Всё ясно)
1
|
21.03.2013, 23:32 | |
21.03.2013, 23:32 | |
Помогаю со студенческими работами здесь
19
Функция выполняющая поэлементное сложение элементов двух массивов Произвести сложение двух массивов 5х3 по правилам сложения матриц Вычислить сумму двух длинных бинарных чисел, используя сложение чисел в двоичной системе счисления Сложение двух чисел Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |