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

стек и списки

25.10.2016, 19:57. Просмотров 347. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.10.2016, 19:57
Ответы с готовыми решениями:

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

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

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

Списки СТЕК
Мне нужно написать демонстрациооную программу работы со списками типа стек. Тоесть нужно с...

1
56 / 56 / 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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.10.2016, 21:18

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

списки, очередь и стек.
помагите решить задачу!!!!! Решить одну и ту же задачу, организуя список, очередь и стек. В...

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

Создать стек строковых значений, для реализации используя односвязные списки
2. Создать стек строковых значений, для реализации используя односвязные списки. Реализовать...

Списки, списки, списки. не все так просто
Написать функцию, которая принимает 2 списка, содержащие одинаковое число строк, затем изменяет...


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

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

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