Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
3 / 3 / 3
Регистрация: 21.03.2011
Сообщений: 55
1

Реализовать программу умножения чисел столбиком с использованием стека

10.05.2011, 07:16. Просмотров 1472. Ответов 2
Метки нет (Все метки)

Если можно, с комментариями. Спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.05.2011, 07:16
Ответы с готовыми решениями:

Реализовать программу умножения полиномов
Подскажите плиз! нада прогу сдавать а я разобраться немогу(, задали: "Реализовать программу...

Реализовать алгоритм Карацубы умножения двух чисел
Здравствуйте, стоит задача реализовать алгоритм Карацубы умножения двух чисел. Нужна помощь по...

Реализовать программу для заучивания таблицы умножения
Здравствуйте, у меня тут вопрос созрел, вообще дело такой, сестра идет в 2 класс им задали учить...

Реализовать программу маскирования, используя операцию логического умножения AND
Нужно реализовать программу маскирования при помощи операции логического умножения AND . Как...

2
Эксперт С++
5037 / 3097 / 271
Регистрация: 11.11.2009
Сообщений: 7,047
10.05.2011, 14:54 2
Ваши наработки?
0
29 / 29 / 9
Регистрация: 15.03.2010
Сообщений: 146
10.05.2011, 14:58 3
Лучший ответ Сообщение было отмечено nick07x как решение

Решение

смотришь основные функции стека здесь
http://www.cppreference.com/wi... tack/start
там есть примеры

можешь создать числовой стек (инт или дабл), но тогда ты не сможешь проверить на некорректный воод вводимых символов, а можешь создать строковый стек (читать о строках здесь http://www.cppreference.com/wiki/ru/string/start)

-получаешь у пользователя строку(число)
- проверяешь на корректность (если неправильно, просишь ввести заного или выходишь из программы)
- загоняешь число в стек, посимвольно, начиная с самого первого ( str[0] )
(получиться что в верхушке стека у тебя самый маленький разряд, который и нужен для реализации умножения столбиком)
-со вторым числом делаешь то же самое
-и собственно пишешь функцию умножения:
создаешь копию стека первого числа (вроде, копия должна создаваться в цикле, т.к умножаеться каждый разряд числа)
перемножаешь верхушки стека, при реализации строк, чтобы взять из стрки число нужно вычесть нулвеой символ '0', например, если у тебя такая строкa
C++
1
2
3
4
5
string str = "1234";
int k=0;
int n=4;
for(int i=0; i<n; i++)
     k+=(str[i]-'0')*pow(10.0,(i+1));//чтобы разряд совпадал
или ты можешь подключить потоки sstream
C++
1
2
3
4
5
6
#include <sstream>
...
string str = "1234";
istringstream ss(str);
int k=0;
ss>>k
так весь цикл пока не будет достигнут конец первого числового стека
после перемножения всего первого числа на младший разряд (верхушку стека) второго числа, жту верхушку удаляешь (есть специальная функция в стеке) делаешь тоже самое для следующего разряда второго числа (можешь завести специальную переменную для хранения разрядов, т.к тебе нудо будет умножать на них 10^cnt)

как то так...=/
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.05.2011, 14:58

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Составить программу для умножения дроби на дробь с использованием пользовательских функций
Помогите пожалуйста!) Даны две дроби A/B и C/D (A, B, C, D – натуральные числа). Составить...

Разработать программу, которая изображает на экране монитора умножение столбиком двух введенных натуральных чисел
С++Builder. Разработать программу, которая изображает на экране монитора умножение столбиком двух...

Реализовать рекурсивную функцию умножения двух натуральных чисел, используя рекуррентное соотношение
Написать программу решения на с++. Помогите, пожалуйста.

Реализовать алгоритм умножения двоичных чисел со сдвигом суммы частичного произведения вправо
Создать алгоритм умножения чисел с анализом двухразрядных множителей со сдвигом суммы частичного...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.