Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Switty
0 / 0 / 0
Регистрация: 15.05.2016
Сообщений: 18
1

стек и списки

25.10.2016, 19:57. Просмотров 227. Ответов 1

Здравствуйте, нужно написать программу, которая выводит число и ближайшее большее его самого другое число, а если такового нету, то вывести -1. Например:
В тексте даны числа: 3 10 6 1 9 - программа должна вывести
9 10
1 6
6 10
10 -1
3 -1
Программа должна быть написана на стеке. Код есть, но работает не правильно ( я пытался на одном стеке, так как на двух тоже не получалось), можете пожааааалуйста помочь?

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include "stdafx.h" 
#include<iostream> 
#include <ctime> 
#include "Header.h" 
using namespace std;
 
void Number6(Stack *first)
{
    //Stack *second = new Stack();
    Stack *result = new Stack();
    int i = 0;
    float min, tek, kek;
    while (0 <= result->m_size)
    {
        min = Pop(first);
 
 
        while (0 <= result->m_size)
        {
            tek = Pop(first);
 
            if (min < tek)
            {
                cout << min << " " << tek << endl;
                min = tek;
            }
            else {
 
                kek = tek;
                tek = Pop(first);
                if (kek < tek)
                {
                    cout << kek << " " << tek << endl;
                    kek = tek;
                }
                else { (Push(first, kek)); }
            }
        }
 
 
 
    }
 
    delete first;
    //delete second;
    delete result;
 
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2016, 19:57
Ответы с готовыми решениями:

Списки типа стек
Помогите пожалуйста, не хочет работать программа: Создать стек с числами, определить сколько...

Односвязные списки, стек
Помогите пожалуйста, кто может:(. нужно только дописать удаление. вот само задание: удаление из...

Стек, очередь (линейные списки)
Привет! Мне нужно поместить четные элементы стека в динамический массив, затем вывести содержимое...

Используя стек, описать функцию проверяющую, является ли стек пустым
Используя стек, описать функцию проверяющую, является ли стек пустым

Программа добавляет введенный массив 5*5 в стек и выводит полученный стек двумя столбцами
Программа добавляет введенный массив 5*5 в стек и выводит полученный стек двумя столбцами ...

1
OlafNestandart
55 / 55 / 31
Регистрация: 24.10.2016
Сообщений: 186
25.10.2016, 21:18 2
Рекурсивный алгоритм. По сути там используется второй неявный стек.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void check(Stack* stack, float last) {
    float val = 0;
    if (stack->m_size > 0) {
        val = Pop(stack);
        if (val > last)
            cout << last << " " << val << endl;
        else
            check(stack, last);
    } else {
        cout << last << " " << -1 << endl;
    }
    Push(stack, val);
}
 
// и где то далее
for (int i = 0; i < stack->m_size; i++) {
    check(stack, Pop(stack));
}
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.10.2016, 21:18

Переменные в стеке. Где хранятся? Как обрабатываются? Есть ли программный стек или только стек процессора?
Есть у меня пробелы в познаниях, хотел бы их устранить. 1. Что такое стек в самом языке С++ ? 2....

Заполнить стек 20 случайными числами с интервала [0; -10]. Вывести стек на экран. Изъять из стека каждый четвертый элеме
Заполнить стек 20 случайными числами с интервала . Вывести стек на экран. Изъять из стека каждый...

Сформировать стек из 6 цифр. Вывести стек на экран. Удалить элементы из стека, увеличить каждый из них на единицу и снов
Сформировать стек из 6 цифр. Вывести стек на экран. Удалить элементы из стека, увеличить каждый из...


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

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

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