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

Определить количество элементов стека до минимального

27.12.2012, 17:59. Показов 1426. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Народ тема такая, есть исходный заполненный стек. Нужно в нём найти и вывести количество элементов расположенных до минимального. Т.е. в моём случа стек от 50 до -50. Получается, что до минимального 99 элементов... Плиз help.
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 <cstdlib> 
#include <iostream> 
 
using namespace std; 
 
struct tstk  
{
    int inf;  
    tstk *a;
} ;  
//удаление стека
tstk *DelStackAll(tstk *sp)  
{ 
    tstk *spt; int inf;  
    while(sp != NULL) 
    {  
        spt = sp;  
        inf= sp->inf;  
        cout << inf << " "; 
        sp = sp->a;  
        delete spt; 
    }  
    return NULL; 
}  
//добавление в стек    
tstk *AddStack(tstk *sp, int inf)  
{ 
    tstk *spt=new tstk;  
    spt->inf = inf;  
    spt->a = sp;  
    return spt; 
}  
//чтение элемента с удалением
tstk *ReadStackD(tstk *sp, int &inf)  
{ 
    if (sp == NULL) return NULL;  
    tstk *spt = sp;  
    inf= sp->inf;  
    sp = sp->a;  
    delete spt;  
    return sp; 
}  
 
int main() 
{ 
    setlocale(0,"");//подключение русского языка
    tstk*sp=NULL; 
    int i,j; 
    cout << "Исходный стек\n";
    for(i=50;i>=-50;i--)
    {
        sp=AddStack(sp, i ); //if ((i%2)== 0) {i} else {-i}
        cout<<i<<" ";
    }
    
  /*  tstk*sp2=NULL;
    int k =0;
    while ( sp )
    {
        int inf;
        sp = ReadStackD( sp, inf );
        if ( inf > 0 )
        {
            sp2 = AddStack( sp2, inf );
        }
    }
    cout << "\n\nНовый стек \n" <<k;
    sp2 = DelStackAll( sp2 );
    cout << endl;*/
    return 0;
}
Добавлено через 19 часов 23 минуты
Решил проблему... правда очень хитро... и не совсем как надо.
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
int main() 
{ 
    setlocale(0,"");//подключение русского языка
    tstk*sp=NULL; 
    int i,j; 
    cout << "Исходный стек\n";
    for(i=50;i>=-50;i--)
    {
        sp=AddStack(sp, i ); //if ((i%2)== 0) {i} else {-i}
        cout<<i<<" ";
    }
    
    tstk*t = sp;
    int min = t->inf;
    do
    {
        sp = t->a;
        if(t->inf < min)
            min = t->inf;
        delete t;
        t = sp;
    }while(t!=NULL);
 
    cout << "\n\nМинимальный элемент = " << min;
 
    tstk*sp2=NULL;
    int k =0;
    for(i=50;i>min;i--)
    {
        sp=AddStack(sp, i );
        k++;
    }
    cout << "\nКоличество элементов после минимального" << k;
    sp2 = DelStackAll( sp2 );
    cout << endl;
    return 0;
}
опять же, если у кого есть какие идеи, прошу помочь.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.12.2012, 17:59
Ответы с готовыми решениями:

Определить количество элементов стека, имеющих значения меньше среднего
Помогите сделать программу.Создать стек с числами в диапазоне от –50 до +50. Определить, сколько...

Найти количество элементов, значение которых больше среднего арифметического минимального и максимального элементов
Дан массив. Найти количество элементов, значение которых больше среднего арифметического...

Подсчитать количество элементов стека превышающих среднее значение
Подсчитать, сколько элементов стека имеют значения, которые превышают среднее арфиметическое всех...

В одномерном массиве вычислить количество отрицательных элементов и сумму модулей элементов, расположенных после минимального по модулю элемента
/* В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) количество отриц....

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

Определить, сколько элементов стека имеют значения меньше среднего значения от всех элементов и удалить их
Доброго времени суток! Задача: Создать стек из целых случайных чисел и определить, сколько...

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

Дан массив целых чисел. Определить количество четных элементов и количество элементов, оканчивающихся на цифру 5
Дан массив целых чисел. Определить количество четных элементов и количество элементов,...

Определить, сколько элементов стека, начиная от вершины, находится до элемента с минимальным значением
Есть стек с числами от -50 до 50 Помогите :определить, сколько элементов стека, начиная от...


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

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

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