|
5 / 5 / 1
Регистрация: 10.03.2012
Сообщений: 121
|
||||||
Умножение двух чисел в столбик03.04.2013, 23:28. Показов 20642. Ответов 10
Метки нет (Все метки)
Добрый день, товарищи! Вроде бы задание простое, но я в тупике, просто не пойму как начать.
Нужно умножить два числа, не используя векторы. Вот начал:
что дальше не пойму
0
|
||||||
| 03.04.2013, 23:28 | |
|
Ответы с готовыми решениями:
10
Умножение и сложение в столбик двух чисел без использования массива Умножение двух больших чисел Умножение двух длинных чисел |
|
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
|
|
| 03.04.2013, 23:40 | |
|
Запиши два числа порозрядно в массивы.
Затем определи число которое больше это будет число которое ты как бы запишешь в верху первое число. От второго числа возьми последний разряд и умножай на разряды первого числа, проверку делай если число будет больше или равно десяти, то к следующему числу мы должны добавить единицу. И так для каждого разряда. Получившиеся числа просто суммируй это и есть результат. Словами ты фиг чо поймешь, а писать мне код лень.
2
|
|
|
5 / 5 / 1
Регистрация: 10.03.2012
Сообщений: 121
|
||
| 04.04.2013, 02:59 [ТС] | ||
|
0
|
||
|
5 / 5 / 1
Регистрация: 10.03.2012
Сообщений: 121
|
|
| 04.04.2013, 13:04 [ТС] | |
|
подскажите хотя бы идею, как это реализовать
0
|
|
|
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
|
||||||
| 04.04.2013, 14:41 | ||||||
|
Я недавно делал это вручную перемножал когда класс создавал для громадных int там умножение вручную есть в функции перегрузка operetor*(); Примеров как именно перемножать я нигде не видел.
отут в функции operator*() в классе я перемножал в столбик. http://www.kselax.ru/2013/03/klass-lint/ но ты фиг там поймешь, а объяснять либо самому тебе перемножить мне лень. Проще тебе самому пару раз умножить и написать по алгоритму программу. Добавлено через 8 минут Вообще пару раз умнож число вручную и уже пиши по алгоритму это будет лучший вариан. Что тебе нужно для начала? Правильно определить какое число больше. Потом что еще? Да нужно взять последнюю цифру меньшего числа. Ну делай бери ее выдели как небуть с массива. Потом что? Перемножать разряды с проверкой. ты взял перемножи у тебя получилось число. проверь его больше оно или равно десяти. Если число больше или равно десяти, то раздели его на десять ты получишь число которое нужно будет прибавить при следующем умножении, либо если умножения не будет дописать к множителю в первые разряды добавить так сказать, и взять конечно остаток от деления чтобы снести сам разряд вниз. Просто так фиг ты что разберешь. Мой совет вручную перемно а затем уже выдели алгоритм и по нему пиши. exit(1); используй для пошаговой проверки что ты получаешь, на каждом шаге выполнения программы. Добавлено через 26 минут Я начало тебе уже сделал. Отак должно быть сначала. Ты просто перемножь и суму сложи с проверкой условия.
Добавлено через 32 секунды будем считать, что число a всегда больше числа b; Добавлено через 9 минут Та пытался полностью сделать там головняк вспомнил там тебе еще нужно и сложение делать. Сначала напиши функцию которая будет складывать два массива, и возвращать третий, а затем уже умножай. Но это трудная задача. Если ты не сильно шаришь, то даже не пытайся делать виг чо сделаешь.
1
|
||||||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 04.04.2013, 18:27 | |
|
1
|
|
|
5 / 5 / 1
Регистрация: 10.03.2012
Сообщений: 121
|
||||||
| 17.04.2013, 17:16 [ТС] | ||||||
|
взял в пример картинку из поста 3 и написал следующий код:
Кликните здесь для просмотра всего текста
в итоге в одном массиве у меня получается 12812562. Вопрос, как сделать чтобы они складывались сразу, ведь если второе число будет трехзначное, то и чисел будет три
0
|
||||||
|
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
|
|
| 17.04.2013, 19:21 | |
|
Создай функцию которая будет складывать два массива. От например summ(int mass1[],int mass2[]); массив по ссылке передается вызови ее отак summ(result[],temp1[]); Все у тебя в result[] должно остаться значение массива temp1, токо result[] сначала нулевой. Это при первом проходе туда запишется значение которое получится при умножении на первый разряд множетеля, при втором проходе уже к значению первого числа прибавиться значение числа которое получилось при умножении второго разряда множителя и.т.д. Я ж уже тебе писал.
Добавлено через 2 минуты Вручную прибав два числа и функцию напиши по алгоритму. Раз уже разобрался как умножать, то прибавить два числа легче.
0
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 22.04.2013, 10:51 | |
|
1
|
|
|
0 / 0 / 0
Регистрация: 17.12.2017
Сообщений: 1
|
||||||
| 17.12.2017, 18:14 | ||||||
|
Понадобилось написать такую-же программу и вот поделюсь
0
|
||||||
|
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,279
|
|||||||
| 17.12.2017, 20:54 | |||||||
0
|
|||||||
| 17.12.2017, 20:54 | |
|
Помогаю со студенческими работами здесь
11
Реализовать умножение двух длинных чисел Строки char: умножение двух чисел Умножение двух чисел в двоичной системе счисления Длинная арифметика: умножение двух длинных чисел Длинная арифметика. Умножение двух длинных чисел. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536
Одним из. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|