|
313 / 176 / 25
Регистрация: 30.04.2011
Сообщений: 1,469
|
||||||
Сложение столбиком.30.04.2011, 17:24. Показов 11580. Ответов 37
Метки нет (Все метки)
Привет всем!Я недавно начал изучать с++ и решил написать свою функцию сложения больших чисел т.е. длинную арифметику.Смысл не сложный.Мы считываем 2 числа в 2 строки в обратном порядке,получаем целочисленный тип каждого из них,складываем и записываем в 3 массив.Если результат выходит больше 9,то записываем в 3 строковую переменную <результат сложения>-10.И при следующем проходе цикла прибавляем единичку,которую записываем во флаговою переменную,а потом ее обнуляем.<-вот в этом и проблема,не хочет прибавлять эту флаговою переменную при следующем проходе цикла,ничего вообще ни прибавляет,а если изначально прибавлять к сложению единичку,то прибавляет к обеим слагаемым.Может что-то не так в цикле обратного отсета т.е. чтобы считывать с конца числа,как мы делаем это когда складываем в столбик..помогите.вот мой код:
0
|
||||||
| 30.04.2011, 17:24 | |
|
Ответы с готовыми решениями:
37
Сложение столбиком
Калькулятор. Деление столбиком |
|
313 / 176 / 25
Регистрация: 30.04.2011
Сообщений: 1,469
|
|
| 30.04.2011, 19:12 [ТС] | |
|
Ну а вообще как должно выглядить прибавление 1 к старшему разряду,как это в моем коде написать???
т.е. у нас если сумма будет выходить больше 9,то во флаговою переменн. мы запишем 1,и при следующкм проходе цикла надо добавть эту флаговою переменную к сумме,а потом обнулить???как это решается?
0
|
|
|
313 / 176 / 25
Регистрация: 30.04.2011
Сообщений: 1,469
|
||
| 30.04.2011, 19:16 [ТС] | ||
|
я уже посмотрел а поподробнее можно что значит вот это
но спасибо=))))))
0
|
||
|
Higher
|
|
| 30.04.2011, 19:20 | |
|
У меня выводит 30
о_О Вы же в своем цикле увеличивали свой флаг, но делали это исключительно для инкремента следующего разряда. В последней итерации идет проверка нулевого элемента, и если он больше 9, то флаг увеличивался, но т.к. следующей итерации не было, то он не обнулялся. Таким образом, если флаг не равен нулю(что и означает (flag) ), то к числу необходимо приписать спереди 1. P.S. сам не понял что написал, ну да ладно
1
|
|
|
313 / 176 / 25
Регистрация: 30.04.2011
Сообщений: 1,469
|
|||
| 30.04.2011, 19:23 [ТС] | |||
0
|
|||
|
313 / 176 / 25
Регистрация: 30.04.2011
Сообщений: 1,469
|
|||
| 30.04.2011, 19:26 [ТС] | |||
|
эт,а литературы какой по этому нету????а то мне вот это вот надо бы понять...
я ведь только начал учится..
0
|
|||
|
Higher
|
||||||
| 30.04.2011, 19:30 | ||||||
|
В общем если нулевой элемент был больше 9, то флаг увеличивался, а так как цикл больше не выполнялся, то флаг оставался равным одному и после цикла.
Например, 9+1, в массиве лежит 0. Но ведь должно получится 10, поэтому и прибавляем спереди еденичку. И это работает при любых числах. В VC должен быть дебаггер, посмотрите что там не так выполняется... Вообще вот область кода, которую я изменял, посмотрите, может, ошиблись где...
1
|
||||||
|
313 / 176 / 25
Регистрация: 30.04.2011
Сообщений: 1,469
|
|
| 30.04.2011, 19:37 [ТС] | |
|
Блин,сейчас в новом проэкте проверил свой первый код он тоже нормально прибавляет...че за прикол??а раньше в старом проэкте не хотело работать правильно.
т.е. раньше в том коде при сложении 19 и 11 выходило 20 а сейчас в том же коде уже 30 выходит...о_О)значит я писал правильно...
0
|
|
|
Higher
|
|
| 30.04.2011, 19:38 | |
|
Из литературы могу посоветовать этот сайт
http://acmp.ru/article.asp?id_text=1329 Там же можно проверить, верно ли вы решили.
1
|
|
|
313 / 176 / 25
Регистрация: 30.04.2011
Сообщений: 1,469
|
||||||
| 30.04.2011, 19:52 [ТС] | ||||||
|
Вообщем кому интересно вот решение во всей красе=)
0
|
||||||
|
313 / 176 / 25
Регистрация: 30.04.2011
Сообщений: 1,469
|
|
| 02.05.2011, 22:52 [ТС] | |
|
А все-таки как работает єта твоя функция nol???дописывает нолики?Помогите разобратся если строки будут разной длины*?!
0
|
|
|
Higher
|
||||||
| 03.05.2011, 10:32 | ||||||
|
Да, дописывает меньшему числу нули в начало
1
|
||||||
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
||||||||||||||||||||||||||||||||||||
| 03.05.2011, 12:03 | ||||||||||||||||||||||||||||||||||||
|
Все гораздо проще можно сделать:
Конструкторов всего два: конструктор копирования создается автоматически, а конструктор без аргументов нам просто не нужен, так как в конструкторе инициализации задан аргумент по умолчанию. Реализацию покажем на примере конструктора с аргументом-целым (листинг 11.18).
Реализацию остальных методов оставляем читателю. Используйте для реализации дружественных функций уже реализованные операции с присваиванием, например
1
|
||||||||||||||||||||||||||||||||||||
|
313 / 176 / 25
Регистрация: 30.04.2011
Сообщений: 1,469
|
||||||
| 03.05.2011, 16:14 [ТС] | ||||||
я убрал функцию,так как функции еще не учил и задание без них было...ну это неважно.. Блин я считать разучился,123 и 12 складывает неправильно он к 1(в 12) прибавляет еще 1 т.е. складывает 123 и 22...а числа больше вообще не хочет..
0
|
||||||
|
313 / 176 / 25
Регистрация: 30.04.2011
Сообщений: 1,469
|
||||||
| 04.05.2011, 19:20 [ТС] | ||||||
т.е. если сложить 12 и 123 выходит 13...
0
|
||||||
|
Higher
|
||||||||||||||||
| 05.05.2011, 13:07 | ||||||||||||||||
|
Во-первых убейте этот код-_-
Во-вторых, у массива s нету конца строки. Т.е. ответ выведется правильно, но за ним последует довольно длинная последовательность мусора... Сделайте так
1
|
||||||||||||||||
| 05.05.2011, 13:07 | |
|
Деление длинных чисел столбиком Вывод символов строки столбиком Вычитание, умножение, деление столбиком Перемножение столбиком двух массивов char
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|