Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
nick07x
2 / 2 / 0
Регистрация: 21.03.2011
Сообщений: 55
10.05.2011, 07:16     Реализовать программу умножения чисел столбиком с использованием стека #1
Если можно, с комментариями. Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2011, 07:16     Реализовать программу умножения чисел столбиком с использованием стека
Посмотрите здесь:

C++ Реализовать программу умножения полиномов
C++ Не используя никаких операций, кроме умножения и присваивания, составить программу, вычисляющую a7 за 4 операции умножения
Реализовать программу с использованием библиотеки GGI. C++
C++ Составить программу,которая печатает таблицу умножения и сложения натуральных чисел в шестнадцатеричной системе счисления
Написать функцию умножения двух,заданных с клавиатуры чисел, используя только операцию умножения и рекурсию C++
Разработать программу, которая изображает на экране монитора умножение столбиком двух введенных натуральных чисел C++
Составить программу для умножения дроби на дробь с использованием пользовательских функций C++
C++ Реализовать алгоритм умножения двоичных чисел со сдвигом суммы частичного произведения вправо

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
10.05.2011, 14:54     Реализовать программу умножения чисел столбиком с использованием стека #2
Ваши наработки?
I_like_C++
14 / 14 / 1
Регистрация: 15.03.2010
Сообщений: 126
10.05.2011, 14:58     Реализовать программу умножения чисел столбиком с использованием стека #3
смотришь основные функции стека здесь
http://www.cppreference.com/wiki/ru/...er/stack/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)

как то так...=/
Yandex
Объявления
10.05.2011, 14:58     Реализовать программу умножения чисел столбиком с использованием стека
Ответ Создать тему
Опции темы

Текущее время: 08:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru