|
313 / 176 / 25
Регистрация: 30.04.2011
Сообщений: 1,469
|
||||||
Сложение столбиком.30.04.2011, 17:24. Показов 11310. Ответов 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
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
После бана на Пикабу не работает авторизация аккаунта с Яндекса.
Hrethgir 09.07.2026
В частности https:/ / auto. ru/ logbook/ zapret-na-vozhdenie-posle-65-let_1cf28789-07b4-4c75-a2f7-4cd4edf9deeb тут хотел оставить комментарий такой
Зрите в корень - монополизация на разработку программ. . .
|
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
|
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|