Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kobi23
1 / 1 / 0
Регистрация: 28.12.2011
Сообщений: 14
#1

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

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

Народ тема такая, есть исходный заполненный стек. Нужно в нём найти и вывести количество элементов расположенных до минимального. Т.е. в моём случа стек от 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2012, 17:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить количество элементов стека до минимального (C++):

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

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

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

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

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

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

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.12.2012, 17:59
Привет! Вот еще темы с ответами:

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

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

Количество элементов массива, расположенных после минимального элемента - C++
В массиве Х(N) найти k1 – количество элементов массива, расположенных после минимального элемента и k2 – количество элементов массива, ...

Найти количество элементов массива, расположенных после минимального элемента - C++
помогите решить. Ввести одномерный статический массив из k чисел. Предусмотреть использование функции пользователя. Найти количество...


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

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

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