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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Преобразование двоичного кода в текст http://www.cyberforum.ru/cpp-beginners/thread292118.html
есть код: struct home { char name; long number; int dom; int kvartira; };
C++ возникнут ли последствия с динамическим массивом Если в программе не задается размер массива (строка) и пользователю не подается запрос на размерность можно ли его задать (не имея последствий) таким способом при вводе. # include <iostream> #include <cstdio> using namespace std; int main() http://www.cyberforum.ru/cpp-beginners/thread292107.html
Односвязный список - удаление - совет C++
Как лучше удалять элементы из однонаправленного списка? Я знаю два варианта: 1) Идем по списку и сохраняем в отдельную переменную указатель на предыдущий элемент. После этого перезаписываем поле next пред. элемента и удаляем уже ненужный элемент. 2) Идем по списку. Находим нужный элемент(I). Сохраняем физически след элемент в левую переменную(Q). Удаляем оба элемента и в уже бывшее место...
объясните C++
ребят вот программа с помощью кой как получилась но не фига в ней понять не могу если можно примеры кодов жтой проги попроще или объясните что к чему плиз #include "stdafx.h" #include "stdio.h" #include "string" int main() { char str = "asd qwd lkjq wdlkasd iqw dlkaskd jds qwdjk aasd"; char* pstr = strtok(str, " ");
C++ Программирование файлов http://www.cyberforum.ru/cpp-beginners/thread292056.html
Помогите написать программу на С++, обеспечивающую создание списка абитуриентов. Предусмотреть ввод фамилии, имени и отчества, года рождения, оценок за вступительные экзамены (математика, физика, русский язык). Программа должна позволять сохранить список в файл, загрузить его и произвести сортировку по следующим полям в порядке убывания:; фамилия, имя, отчество; год рождения, общий балл за...
C++ Вывод на экран n-мерного дерева. Есть н мерное дерево. Надо вывести в окне консольки. Структура такая: struct Tree{ int number; // номер int level; // уровень int number_of_child; // количество потомков Tree** child; // массив указателей на потомков }; Заполнение следующего типа: вводим элемент и говорим сколько у него детей и вводим детей с указанием сколько у них и т.д. Как вывести на экран сие чудо что... подробнее

Показать сообщение отдельно
I_like_C++
28 / 28 / 4
Регистрация: 15.03.2010
Сообщений: 146
Завершенные тесты: 1
10.05.2011, 14:58     Реализовать программу умножения чисел столбиком с использованием стека
смотришь основные функции стека здесь
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)

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