Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать программу, которая находила бы, в заданной строке, количество подстрок, состоящих из цифр Помогите с задание по практике программирования. Написать программу, которая находила бы, в заданной строке, количество подстрок, состоящих из цифр. Например, в строке "as67 df78 56j6" четыре... https://www.cyberforum.ru/ cpp-beginners/ thread2497036.html C++ Реализовать классы «стек» и «очередь» наследованием от базового класса «двусвязный список»
Реализовать классы «стек» и «очередь» наследованием от базового класса «двусвязный список». Создать три варианта реализации наследования: открытое, закрытое, защищенное. Программы- клиенты должны...
C++ Нужно поменять первый и последний элемент стека #include "pch.h" #include <iostream> #include <conio.h> #include <Windows.h> using namespace std; const int N = 10; struct Stec { char a; int inf; https://www.cyberforum.ru/ cpp-beginners/ thread2497030.html C++ Не могу восстановить кусочную функцию Имеется задание 1) Теорема Котельникова утверждает, что если в спектре сигнала не содержится частот бОльших, чем половина частоты дискретизации, то исходный сигнал может быть однозначно... https://www.cyberforum.ru/ cpp-beginners/ thread2497008.html
Проблема с Strtok C++
Добрый день. Подскажите пожалуйста. Программ вылетает в момент использования strtok, не пойму в чем проблема. В main вызываю метод: rn2.setRational("3/4"); void...
C++ Наследование класса Устройство https://www.cyberforum.ru/ cpp-beginners/ thread2496969.html
У меня есть класс Устройство,мне нужно создать второй класc который наследует базовый,с этими же методами, но с дополнительными полями. Я не понимаю как мне это переносить,как делать подскажите. ...
C++ Исправить ошибку в коде. Перевод в 2 сс На языке C/C++ написать программу, которая запрашивает целое число (положительное, отрицательное или ноль), разрядность типа данных и его вид – знаковый или беззнаковый. На выходе программы должно... https://www.cyberforum.ru/ cpp-beginners/ thread2496930.html Возврат из функции ссылки на экземпляр класса C++
Здравствуйте, прошу помочь в разъяснении не понятной конструкции.Искал в интернете не нашел ничего решающего мой вопрос. Я наткнулся на вот такой код в книжке: # include <iostream> using namespace...
C++ Ищу способ конвертировать адрес в int https://www.cyberforum.ru/ cpp-beginners/ thread2496921.html
Здравствуйте, всем. Скажите, пожалуйста, как string в int? Есть строка, она содержит в себе адрес в памяти. Ищу способ конвертировать адрес в int, для проверки есть ли он в массиве? Это...
C++ Показать способ получения числа 10 из четырёх чисел (от 1 до 9) Здравствуйте! Требуется написать программу, которая будет показывать способ получения числа 10 из четырёх чисел (от 1 до 9). Допустимые операции: сложение, вычитание, деление, умножение. https://www.cyberforum.ru/ cpp-beginners/ thread2496902.html
Наследование C++
Не правильно подставляются значения векторов v1 v2 v3 v4 в переопределенный метод вычисления периметра double rectangle:: perimetr() . В чем причина не могу понять #include <iostream> #include...
C++ что не так ? (вычисление площади в классе) https://www.cyberforum.ru/ cpp-beginners/ thread2496885.html
#include <iostream> #include <math.h> using namespace std; class triangle { private: double a, b,c,p; double s; public:
0 / 0 / 0
Регистрация: 05.09.2019
Сообщений: 1
0

Как поменять первый и последний элемент стека? - C++ - Ответ 13809035

05.09.2019, 17:58. Показов 4136. Ответов 8
Метки (Все метки)

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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
#include "pch.h"
#include <iostream>
#include <conio.h>
#include <Windows.h>
using namespace std;
const int N = 10;
struct Stec
{
    char a[15];
    int inf;
    Stec *next;
};
bool checker(char *str)
{
    if (strlen(str) == 0) return 0;
    int counter = 0;
    for (int i = 0; i < strlen(str); i++)
    {
        if (str[i] == '.')
        {
            counter++;
        }
        if (((str[i]<'0' || str[i]>'9') && str[i] != '.') || (str[i] == '.' && counter > 1))
        {
            return 0;
        }
    }
    return 1;
}
double checkType()
{
    float finish;
    char buffer[1000];
    do
    {
        strcpy_s(buffer, "");
        gets_s(buffer);
        if (!checker(buffer)) cout << "Некорректный ввод, введите ещё раз: ";
    } while (!checker(buffer));
    finish = atof(buffer);
    return finish;
}
void putElemFirst(Stec **head, char *d)
{
    Stec *temp = (Stec*)malloc(sizeof(Stec));
    temp->next = *head;
    strcpy_s(temp->a, d);
    *head = temp;
}
Stec *pop_stec(Stec **head)
{
    Stec *out;
    out = *head;
    *head = (*head)->next;
    return out;
}
 
void output(Stec *head)
{
    Stec *newHead = NULL;
    Stec *temp = NULL;
    int count = 1;
    while (head)
    {
        temp = pop_stec(&head);
        cout << "Элемент №" << count << ": " << temp->a << endl;
        cout << "==========================" << endl;
        putElemFirst(&newHead, temp->a);
        count++;
    }
    while (newHead)
    {
        temp = pop_stec(&newHead);
        putElemFirst(&head, temp->a);
    }
    free(temp);
}
void deleteElem(Stec **head)
{
    Stec *pntr = *head;
    *head = pntr->next;
    free(pntr);
}
void deleteStec(Stec *head)
{
    while (head) deleteElem(&head);
}
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    Stec *head = NULL;
    int num;
    do
    {
        system("cls");
        cout << "1 - Добавить элемент" << endl
            << "2 - Печатать все элементы" << endl
            << "3 - Удалить элемент" << endl
            << "4 - Очистить стек" << endl
            << "5 - Выход" << endl
            << "6 - Задание" << endl
            << "Выберите операцию >> ";
        num = checkType();
        switch (num)
        {
        case 1:
        {
            system("cls");
            char p[15];
            cout << "Введите элемент: ";
            gets_s(p);
            putElemFirst(&head, p);
        }
        break;
        case 2:
        {
            if (head == NULL)
            {
                do
                {
                    system("cls");
                    cout << "Стек пуст!" << endl;
                    cout << "Для выхода нажмите <<esc>>";
                } while (_getch() != 27);
            }
            else
            {
                do
                {
                    system("cls");
                    output(head);
                    cout << "Для выхода в меню нажмите <<esc>>";
                } while (_getch() != 27);
            }
        }
        break;
        case 3:
        {
            if (head == NULL)
            {
                do
                {
                    system("cls");
                    cout << "Стек пуст!" << endl;
                    cout << "Для выхода нажмите <<esc>>";
                } while (_getch() != 27);
            }
            else
            {
                deleteElem(&head);
                do
                {
                    system("cls");
                    cout << "Элемент успешно удалён" << endl;
                    cout << "Для выхода в меню нажмите <<esc>>";
                } while (_getch() != 27);
            }
        }
        break;
        case 4:
        {
            if (head == NULL)
            {
                do
                {
                    system("cls");
                    cout << "Стек пуст!" << endl;
                    cout << "Для выхода нажмите <<esc>>";
                } while (_getch() != 27);
            }
            else
            {
                do
                {
                    system("cls");
                    deleteStec(head);
                    head = NULL;
                    cout << "Стек очищен" << endl;
                    cout << "Для выхода в меню нажмите <<esc>>";
                } while (_getch() != 27);
            }
        }
        break;
        case 5:
        {
            return 0;
            break;
        }
        case 6:
        {
 
        }
        }
    } while (num >= 1 && num <= 5);
}


Вернуться к обсуждению:
Как поменять первый и последний элемент стека? C++
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.09.2019, 17:58
Готовые ответы и решения:

Поменять местам первый и последний элементы стека
Ввести символы, формируя из них стек. Поменять местам первый и последний элементы стека (через...

Поменять местами первый и последний элемент списка
Добавить в шаблон класса CList метод, меняющий местами первый и последний элемент списка. ...

Поменять местами последний нулевой элемент и первый минимальный
Всем доброго времени суток. Помогите пожалуйста с решением задачки. Ну ооочень надо. Заранее спасибо

Первый элемент массива поменять с минимальным, а последний с максимальным
Добрый вечер. Мой знакомый написал программу для определения максимального и минимального элемента...

8
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.09.2019, 17:58

Поменять первый максимальный и последний минимальный элемент массива
Посмотрите, пожалуйста, где тут ошибка #include &lt;iostream&gt; using namespace std; int...

Поменять местами первый из наибольших элементов и последний элемент.
Дан массив размерность n (n &lt; 50), необходимо поменять местами первый из наибольших элементов и...

Поменять местами первый и последний элемент символьного массива
Надо поменять местами первый и последний символ через функцию, если не через функцию делать все...

Поменять местами первый и последний элемент массива (исправить код)
Почему массив не не меняет первый и последний элемент местами? #include &lt;iostream&gt; #include...

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