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

Стек

17.05.2022, 21:11. Показов 94. Ответов 0
Метки #c++ (Все метки)

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

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
#include <iostream>
#include <Windows.h>
 
using namespace std;
 
struct stek 
{
    int num;
    stek* next;
};
 
void push(stek*& stk, int n)
{
    stek* temp = new stek;
    temp->next = stk;
    temp->num = n;
    stk = temp;
}
 
void show(stek* stk)
{
    stek* temp = stk;
    while (temp) 
    {
        cout << temp->num << " ";
        temp = temp->next;
    }
    cout << endl;
}
 
int findAverage(stek* stk)
{
    int amount = 0, i = 0;
    for (stek* temp = stk; temp; temp = temp->next, i++)
        amount += temp->num;
    return amount / i;
}
 
void cleanOut(stek*& stk)
{
    for (stek* temp = stk->next; stk->next; temp = stk->next) 
    {
        delete stk;
        stk = temp;
    }
}
 
int main() 
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int n, s;
    cout << "Кол-во элементов: " << endl;
    cin >> n;
    stek* stk = new stek[n];
    stk = NULL;
    srand(time(NULL));
    cout << "Введите " << n << " элементов: " << endl;
    for (int i = 0; i < n; i++)
    {
        cin >> s;
        push(stk, s);
    }
    cout << "Стек: " << endl;
    show(stk);
    stk->num = findAverage(stk);
    cout << "Стек с средним арифметическим на первой позиции: " << endl;
    show(stk);
    system("pause > nul");
    cleanOut(stk);
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.05.2022, 21:11
Ответы с готовыми решениями:

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

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

Переделал из контейнера стек на стек используя односвязный список, но чего-то не работает сам код
Контейнер Стек #include &lt;iostream&gt; #include &lt;stack&gt; using namespace std; int main() { ...

Разработайте определение класса Stack, описывающего тип – «Стек». Стек создается на основе динамического массива
Добрый день уважаемые знатоки, помогите довести до ума программу Разработайте определение класса...

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

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

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

как переделать из контейнера стек на структуру стек
#include &lt;iostream&gt; #include &lt;stack&gt; using namespace std; int main() { stack&lt;char&gt; st;...

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

Сформировать стек из N чисел. Найти сумму нечетных чисел из стека. Результат поместить в стек
Здравствуйте. Помогите, пожалуйста, решить задачу: Сформировать стек из N чисел. Найти сумму ...

при работе рекурсивной функции заканчивается стек и программа соответственно; как сделать так, чтобы она писала "стек закончился"?
Сабж g++ 4.5.0

Структура стек (: добавить элемент в стек, удалить элемент из стека, получить значение с вершины стека, размер стека...)
Всем привет,ребят помогите пожалуйста с лабой,вообще без понятия про стеки:( Может кто то...


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

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

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