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

Стеки (найти максимум и минимум)

13.04.2011, 00:30. Просмотров 2015. Ответов 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
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
#include <iostream.h>  
#include <stdio.h>  
#include <conio.h> 
#include <stdlib.h> 
#include <string.h> 
#include <cstdlib>
 
struct tstk  
{  
    int inf;  
    tstk *a;  
} *sp;
 
int j;
int menu();
tstk *standart(tstk*,int);
tstk *vivod(tstk*,int);
tstk *random(tstk*,int);
tstk *minmax(tstk*,int);
tstk *delall(tstk*);
 
int main()
{
    int inf;
    while (true)
    {
        switch(menu())
        {
            case 1:standart(sp,inf); break;
            case 2:random(sp,inf); break;
            case 3:vivod(sp,inf); break;
            case 4:minmax(sp,inf); break;
            case 5:delall(sp); break;
            case 6:return 0;
            default: "Viberete pravilno!";
        }
        puts("Press any key to continue");
        getch();
        system("cls");
    }
}
 
int menu()
{
    int i;
    cout<<"Menu"<<endl;
    cout<<"1. Vvod steka s klaviaturi"<<endl;
    cout<<"2. Vvod steka random"<<endl;
    cout<<"3. Vivod na ekran steka"<<endl;
    cout<<"4. Minimum/Maximum"<<endl;
    cout<<"5. Udalit' vse"<<endl;
    cout<<"6. Exit"<<endl;
    cin>>i;
    return i;
}
 
tstk *standart(tstk *sp,int inf)
{
    tstk *t;
    sp=NULL;
    int b,n,i;
    j=0;
    cout<<"Vvedite n"<<endl;
    cin>>n;
    for (i=0;i<n;i++)
    {
        j++;
        t=new tstk;
        cin>>b;
        t->inf=b;
        t->a=sp;
        return t;
    }
}
 
tstk *random(tstk *sp,int inf)
{
    tstk *t;
    sp=NULL;
    int i;
    for (i=0;i<100;i++)
    {
        j++;
        t=new tstk;
        t->inf=rand()%100-50;
        t->a=sp;
        return t;
    }
}
 
tstk *vivod(tstk *sp,int inf)
{
    tstk *t=sp;
    cout<<endl;
    while (t!=NULL)
    {
        cout<<t->inf<<endl;
        t=t->a;
    }
    return t;
}
 
tstk *minmax(tstk *sp,int inf)
{
    int k;
    tstk *t=sp;
    int min,max;
    max=min=sp->inf;
    do
    {
        k++;
        if (t->inf < min) min=t->inf;
        if (t->inf > max) max=t->inf;
    } while (t=t->a);
    cout <<"Minimum="<<min<<endl;
    cout <<"Maximum="<<max<<endl;
    return 0;
}
 
tstk *delall(tstk *sp)
{
    tstk *t;
    while(sp!=NULL)
    {
        t=sp;
        sp=sp->a;
        free(t);
    }
    return NULL;
}
Программа запускается, но вот ни рандомно, ни вручную не вводится
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.04.2011, 00:30
Ответы с готовыми решениями:

Найти максимум и минимум матрицы
найти минимум и максимум матрицы 3х3

Найти максимум и минимум массив
Задан целочисленный массив размера N. Найти максимум и минимум массива и напечатать их позиции....

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

Найти максимум и минимум зарплаты
Как зделать так чтоби вичисляло максимум и минимум код #include&lt;iostream&gt; using namespace std;...

1
929 / 754 / 299
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
13.04.2011, 00:48 2
Никогда не мешай методы для выделения динамической памяти если выделил new то должен при удаление использовать delete а не free используется со связкой malloc, calloc, realloc. На счёт кода много затираний едёт как будешь кучу удалять потом, вообще лучше книжку по-лучше почитай по созданию стеков, списков, совет на будущее.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.04.2011, 00:48

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

Найти в массиве минимум и максимум
Вам дан массив из n целых чисел. Вы должны найти в этом массиве минимум и максимум, после чего...

Найти минимум и максимум в массиве
Доброго времени суток) Совсем не давно начали изучать С++ поэтому простите мои глупые ошибки...

Найти максимум и минимум в матрице
Имеется квадратная матрица целых чисел А размерности n x n, где n&lt;=8. Написать программу, которая...

Найти максимум и минимум в двумерном массиве
где ошибка Спрашивает, как заполнить двум массив, ищет max и min #include &lt;iostream&gt;...


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

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

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