2 / 2 / 0
Регистрация: 08.04.2021
Сообщений: 41
1

Записать цифры числа в стек

05.05.2021, 01:28. Показов 2674. Ответов 8

Ввести некоторое число и записать его цифры в стек. Вывести число, у которого цифры идут в обратном порядке. Цифры из записи числа считывать поочередно (например, с помощью getch()).

С числами все понятно , а вот как с одним числом и его цифрами.
Нужна хелпа!!!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
int main()
{
    setlocale(LC_ALL, "rus");
    stack <int> s;  // создаем стек
 
    int n,i,k,p;
 
    cout << "Введите люб числ: " << endl; //vvod
    cin >> n;
 
    while (n>0) {
        
        s.push(n%10);  // добавляем введенн числа
        n = n / 10;
    }
    k = 0;
    p = 1;
    while (!s.empty())
    {
        s.pop();
        cout << s.top() << ' ';
    }
    
 
   system("pause");
   return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.05.2021, 01:28
Ответы с готовыми решениями:

записать числа в стек
Доброго времени суток! Укажите мне, пожалуйста, на ошибку.. Я не могу ее найти. Суть проги в том,...

Положительные числа записать в очередь, отрицательные в стек
очередь как кольцевой массив, положительные числа записать в очередь, отрицательные в стек

Записать в стек 5 целых двузначных числа и вывести рядом их суму
Помогите))) пожалуйста)))

Записать цифры числа в массив
Подскажите почему у меня в массив бросается только первое число, а дальше нули. Как это исправить и...

8
438 / 281 / 183
Регистрация: 23.06.2018
Сообщений: 650
05.05.2021, 01:48 2
Лучший ответ Сообщение было отмечено Greek21 как решение

Решение

Так у вас всё в задании прописано, считывать цифры поочередно, например через getch (но мне нравится cin.get)
C++
1
2
3
4
5
6
7
8
9
10
11
12
stack<char> s;
char ch;
while (cin.get(ch) && !isdigit(ch));
do {
    s.push(ch);
} while (cin.get(ch) && isdigit(ch));
while (!s.empty())
{
    cout << s.top();
    s.pop();
}
cout << endl;
1
2 / 2 / 0
Регистрация: 08.04.2021
Сообщений: 41
08.05.2021, 12:40  [ТС] 3
а как мне сделать в стеке , что бы допустим я ввожу фамилии студентов, их возраст и мне выводит в порядке убывания исходя из их возраста.
0
129 / 81 / 49
Регистрация: 10.01.2020
Сообщений: 293
08.05.2021, 12:43 4
Greek21, а зачем вам для этого использовать stack? Используйте например list или forward_list, у которых имеется метод sort.
Так-то стек сортировать нет смысла.
1
2 / 2 / 0
Регистрация: 08.04.2021
Сообщений: 41
08.05.2021, 12:45  [ТС] 5
Да у меня в задании так написано

Написать программу, реализующую стек с информацией о студентах и отображающую стек в порядке убывания возраста студента
0
129 / 81 / 49
Регистрация: 10.01.2020
Сообщений: 293
08.05.2021, 12:48 6
Greek21, уточните, возможно нужно было реализовать сам стек изначально.
На случай реализации стека изначально: Списки, стеки, очереди
1
2 / 2 / 0
Регистрация: 08.04.2021
Сообщений: 41
08.05.2021, 12:55  [ТС] 7
Прикольно то , что в образце нашей практической есть образцы, но они сделаны через связные списки. Я тоже не понимаю, как можно стек сортировать.
0
129 / 81 / 49
Регистрация: 10.01.2020
Сообщений: 293
08.05.2021, 13:18 8
Лучший ответ Сообщение было отмечено Greek21 как решение

Решение

Greek21, Стек реализуется на основе связных списков.
Есть несколько способов реализации подобного задания.
1. При закидывании каждого элемента в стек автоматически вставлять его в отсортированном порядке. И в том же порядке вынимать его из стека. (Будет прототип, так сказать сортированного стека. Его проблема в том, что при использовании стека трудно будет уследить за элементами снаружи).
2. Сделать обычный рабочий стек, но дописать функцию получения элементов в отсортированном порядке.(Не задевает логику работы и смысл стека).
3. Сделать обычный рабочий стек, но дописать функцию его сортировки. (Проблема этого метода в том, что логика и смысл работы стека при использовании функции сортировки уже будут нарушены).

По моему мнению, самый целесообразный вариант действий - 1. А вы уже делайте на ваше усмотрение.
1
2 / 2 / 0
Регистрация: 08.04.2021
Сообщений: 41
08.05.2021, 13:24  [ТС] 9
Понял, спасибо, буду разбираться.

Можете помочь с этим заданием

Списки
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.05.2021, 13:24
Помогаю со студенческими работами здесь

Записать цифры числа в обратном порядке
Дано некоторое целое число b. Написать программу, которая получает число d, состоящее из тех же...

Записать цифры целого числа в массив
//2. Пользователь вводит шестизначное число. Каждую цифру из этого числа записать в ячейку...

Записать в массив по порядку цифры числа N
дано число N. Записать в массив по порядку цифры числа N.

Записать числа и их цифры в обратном порядке
Дана задача: Вводится 5 чисел. Требуется записать их в обратном порядке, при этом переставив все...

Рекурсия: записать цифры числа в обратном порядке
как число записать в обратном порядке с помощью рекурсивной функции? на С. мот кто с талкивался с...

Цифры пятизначного числа записать в обратном порядке
Помогите


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru