Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Руся123
1 / 1 / 0
Регистрация: 11.10.2012
Сообщений: 53
1

Создать список из целых чисел, найти в нем максимальный и минимальный элементы и их индексы

09.06.2016, 22:16. Просмотров 870. Ответов 2
Метки нет (Все метки)

Ребята, помогите написать код
Задание: Создать список(стек) целых чисел и найти в нем максимальный и минимальный элемент и номера их вхождения в список(стек)
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2016, 22:16
Ответы с готовыми решениями:

Задан массив целых чисел K (n). Найти в нем минимальный kmin и максимальный kmax элементы. Вывести в порядке в
помогите пожалуйста, проболел в больничке, просьба помочь Задан массив целых...

Создать двумерный массив N*M и найти в нем максимальный и минимальный элемент и их индексы
Вот задание: Создать двумерный массив N*M и найти в нем максимальный и...

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

[C++] Дана матрица размером N x M. Найти в ней минимальный и максимальный элементы, определить их индексы.
не втыкну как составить прогу Дана матрица размером N x M. Найти в ней...

В массиве целых чисел поменять местами минимальный и максимальный элементы
Одномерный массив-Вычислить среднее арифметическое элементов массива Х,...

2
RAFA91
Заблокирован
10.06.2016, 14:30 2
Лучший ответ Сообщение было отмечено Руся123 как решение

Решение

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
#include <iostream>
using namespace std;
 
class stack
{
class node 
{
    int x;
    node *next;
public:
    node(int _x, node *_next) : x(_x), next(_next) {}
    int get_x() const {return x;} 
    node * get_next() const {return next;} 
};
    int number_min;
    int number_max;
    int min;
    int max;
    node *next;
    int count;
    public:
    stack() : next(NULL),count(0) 
    {
        number_min=0; 
        number_max = 0;
        min = 0;
        max = 0;
    }
    int size() const {return count;}
    int get_number_min() const {return number_min;}
    int get_number_max() const {return number_max;}
    int get_min() const {return min;}
    int get_max() const {return max;}
    void push(int x)
    {
        if (!count) next = new node(x, NULL);
        else
        {
            node *_next = next;
            next = new node(x, _next);
        }
        count++;
    }
    int front() {return next->get_x();}
    void pop()
    {
        if (count) 
        {
            node *_next = next;
            next = next->get_next();
            delete _next;
            count--;
        }
    }
    void find_min_max()
    {
        if (!count) return;
        node *_next = next; 
        min = _next->get_x();
        max = min;
        number_min=0; 
                number_max = 0;
       
        for (int i=0; _next != NULL; _next = _next->get_next(),i++)
        {
            if ((_next->get_x()) < min) 
            {
                min = _next->get_x();
                number_min = i;
            }
            if ((_next->get_x()) > max) 
            {
                max = _next->get_x();
                number_max = i;
            }
        }
    }
};
 
int main() 
{
    stack Stack;
    
    Stack.push(-12);
    Stack.push(12);
    Stack.push(-58);
    Stack.push(100);
    Stack.push(-56);
    
    Stack.find_min_max();
    
    cout<<"number_min = "<<Stack.get_number_min()<<
    " min = "<<Stack.get_min()<<endl;
    cout<<"number_max = "<<Stack.get_number_max()<<
    " max = "<<Stack.get_max()<<endl;
    
    while (Stack.size())
    {
        cout<<Stack.front()<<" ";
        Stack.pop();
        Stack.find_min_max();
    }
    
    
    return 0;
}
0
RAFA91
Заблокирован
12.06.2016, 16:31 3
C++
1
friend class stack;
*******************************

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
#include <iostream>
using namespace std;
 
class stack
{
class node 
{
    friend class stack;
    int x;
    node *next;
    node(int _x, node *_next) : x(_x), next(_next) {}
};
    int number_min;
    int number_max;
    int min;
    int max;
    node *next;
    int count;
    public:
    stack() : next(NULL),count(0) 
    {
        number_min=0; 
        number_max = 0;
        min = 0;
        max = 0;
    }
    int size() const {return count;}
    int get_number_min() const {return number_min;}
    int get_number_max() const {return number_max;}
    int get_min() const {return min;}
    int get_max() const {return max;}
    void push(int x)
    {
        if (!count) next = new node(x, NULL);
        else
        {
            node *_next = next;
            next = new node(x, _next);
        }
        count++;
    }
    int front() {return next->x;}
    void pop()
    {
        if (count) 
        {
            node *_next = next;
            next = next->next;
            delete _next;
            count--;
        }
    }
    void find_min_max()
    {
        if (!count) return;
        node *_next = next; 
        min = _next->x;
        max = min;
        number_min=0; 
        number_max = 0;
       
        for (int i=0; _next != NULL; _next = _next->next,i++)
        {
            if ((_next->x) < min) 
            {
                min = _next->x;
                number_min = i;
            }
            if ((_next->x) > max) 
            {
                max = _next->x;
                number_max = i;
            }
        }
    }
};
 
int main() 
{
    stack Stack;
    
    Stack.push(-12);
    Stack.push(12);
    Stack.push(-58);
    Stack.push(100);
    Stack.push(-56);
    
    Stack.find_min_max();
    
    cout<<"number_min = "<<Stack.get_number_min()<<
    " min = "<<Stack.get_min()<<endl;
    cout<<"number_max = "<<Stack.get_number_max()<<
    " max = "<<Stack.get_max()<<endl;
    
    while (Stack.size())
    {
        cout<<Stack.front()<<" ";
        Stack.pop();
        Stack.find_min_max();
    }
    
    
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.06.2016, 16:31

В массиве целых чисел поменять местами минимальный и максимальный элементы
Эту задачу можно как нибудь упростить? #include &lt;stdio.h&gt; #define N 3...

Создать список целых чисел. Создать новый список, записав в него отрицательные элементы
Создать список целых чисел. Создать новый список, записав в него отрицательные...

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


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

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

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