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

Нахождение максимального элемента списка

14.05.2016, 15:18. Просмотров 847. Ответов 7

Есть код:
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
// ConsoleApplication1.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include "stdafx.h"
 
using namespace std;
namespace Program
{
    struct List
    {
        int key;
        List* next;
    };
 
    class Services
    {
    private:
        List *next;
    public:
        Services() {};
        void Push(int d)
        {
            List *pv = new List;
            pv->key = d;
            pv->next = next;
            next = pv;
        }
        int Pop()
        {
            int temp = next->key;
            List *pv = next;
            next = next->next;
            delete pv;
            return temp;
        }
    };
 
}
using Program::Services;
using Program::List;
 
 
int main()
{
    
    int n, p, m, k;
    Services st;
    cout << "Enter ammount of companies: ";
    cin >> n;
    int arr(n);
    cout << "Enter prices: " << endl;
    for (int i(0); i < n; i++)
    {
        cin >> p;
        st.Push(p);
    }
    for (int i(0); i < n; i++)
    {
        cout << st.Pop() << endl;
        /*if (st.Pop() > m)
        {
            m = st.Pop();
            k = i;
        }
        else k = 0;*/
    }
    
    _getch();
    return 0;
}
В этом случае он работает, а мне нужно вывести максимальный элемент, но сравнение не работает ни в какую((
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2016, 15:18
Ответы с готовыми решениями:

Нахождение максимального элемента в массиве и его индекс (элемента)
Доброго времени суток. Вот исходный код поиска максимального элемента массива: ...

Нахождение максимального элемента
Друзья, вот незадача, код написан, а работает не верно. Голову сломал что не так, может кто увидит...

Нахождение максимального элемента в матрице
Нужно решить задачу и найти наибольший элемент. Подскажите, как сделать? НУЖНО РЕШИТЬ ЗАДАЧУ И...

Матрицы,нахождение максимального и минимального элемента
Здравствуйте!Помогите пожалуйста с программой,по условию нужно найти максимальный и минимальный...

Нахождение максимального и минимального элемента в списке
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; #include &lt;windows.h&gt; using namespace...

7
Dastan4ik
62 / 62 / 55
Регистрация: 18.10.2014
Сообщений: 190
Завершенные тесты: 2
14.05.2016, 15:31 2
Ошибка из за того что у тебя к m'у не присвоено ничего попробуй это исправить.
0
retmas
Жарю без масла
865 / 747 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
14.05.2016, 16:07 3
Цитата Сообщение от Hillevy Посмотреть сообщение
В этом случае он работает
это в каком? без этого?
Цитата Сообщение от Hillevy Посмотреть сообщение
if (st.Pop() > m)
{
m = st.Pop();
k = i;
}
ну так вы же 2 раза делаете Pop и запоминаете не то с чем сравнивали
0
Hillevy
0 / 0 / 0
Регистрация: 23.01.2016
Сообщений: 7
14.05.2016, 16:25  [ТС] 4
Да, без сравнения.
А можете поподробнее объяснить? Как это исправить
0
retmas
Жарю без масла
865 / 747 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
14.05.2016, 16:39 5
C++
1
2
3
int temp = st.Pop();
if(temp > m)
    m = temp;
1
Hillevy
0 / 0 / 0
Регистрация: 23.01.2016
Сообщений: 7
14.05.2016, 17:11  [ТС] 6
Все равно выдает debug error

Run-Time Check Failure #3 - The variable 'm' is being used without being initialized.
0
retmas
Жарю без масла
865 / 747 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
14.05.2016, 17:21 7
Лучший ответ Сообщение было отмечено Hillevy как решение

Решение

конечно m нужно инициализировать чем то до ее использования

Добавлено через 2 минуты
C++
1
2
3
4
5
6
7
m = st.Pop();
for (int i(0); i < n - 1; i++)
{
    int temp = st.Pop();
    if(temp > m)
        m = temp;
}
1
Hillevy
0 / 0 / 0
Регистрация: 23.01.2016
Сообщений: 7
14.05.2016, 17:33  [ТС] 8
Шикарно, спасибо огромное! Ошибка была в цикле
C++
1
 i < n - 1
0
14.05.2016, 17:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.05.2016, 17:33

Нахождение первого и последнего максимального элемента
Найти номера первого и последнего максимального элемента из данного набора и вывести их в указанном...

Нахождение максимального элемента каждого столбца массива
Есть готовый код. // ConsoleApplication2.cpp : Defines the entry point for the console...

Нахождение максимального элемента и его номера в дереве
сама проблема находится в том чтобы найти номер максимального эл. #include &quot;stdafx.h&quot; # include...


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

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

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