Форум программистов, компьютерный форум CyberForum.ru

Пятый максимум в массиве - C++

Восстановить пароль Регистрация
 
uemaka
0 / 0 / 0
Регистрация: 02.09.2013
Сообщений: 33
16.02.2014, 18:18     Пятый максимум в массиве #1
прога должна выдать 5 максимум то есть элемент который больше 5 чисел
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
    int a[10] = {1,2,2,4,5,6,7,8,9,10};
    int s;
    int p = 0;
    for (int i = 0; i<10;i++)
        for ( int j = i+1; j<10;j++)
        {
            if (a[i] < a[j])
            {
                s = a[j];
            p++;
            }
            if (p==5)
                break;
        }
        cout << s;
        return 0;
}
Должно выдать "7" а прога выдает "10" где я делаю неправильно?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.02.2014, 18:18     Пятый максимум в массиве
Посмотрите здесь:

C++ максимум в массиве
Максимум в массиве C++
максимум в одномерном массиве C++
C++ Найти пятый максимальный элемент в массиве
C++ Минимум и максимум в двумерном массиве
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
petyahohlov
27 / 22 / 5
Регистрация: 31.07.2013
Сообщений: 119
16.02.2014, 18:37     Пятый максимум в массиве #2
во первых должно выдать 6 а не 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
#include "stdafx.h"
 #include <iostream>
 using namespace std;
 int main()
 {
    int a[10] = {1,2,2,4,5,6,7,8,9,10};
    int s;
    int p = 0;
    for (int i = 0; i<10;i++)
    {
        for ( int j = 1; j<10;j++)
        {
            if (a[j] > a[i])    
            {
                s = a[j];
                p++;
            }
            if (p==5)
            {
                break;
            }
        }
    }
    cout<<endl;
    cout<<s;
    return 0;
 }
uemaka
0 / 0 / 0
Регистрация: 02.09.2013
Сообщений: 33
16.02.2014, 19:59  [ТС]     Пятый максимум в массиве #3
Проблема в том что если в массиве повторяются элементы как {2,2} то это не идет в максимум, ток когда так напр {1,2}
Tulosba
:)
Эксперт C++
4377 / 3220 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
16.02.2014, 20:04     Пятый максимум в массиве #4
Цитата Сообщение от uemaka Посмотреть сообщение
если в массиве повторяются элементы как {2,2} то это не идет в максимум
Тогда может быть задача должна звучать иначе?
прога должна выдать 5 максимум то есть элемент который больше 5 разных чисел
uemaka
0 / 0 / 0
Регистрация: 02.09.2013
Сообщений: 33
16.02.2014, 20:44  [ТС]     Пятый максимум в массиве #5
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
#include "stdafx.h"
 #include <iostream>
 using namespace std;
 int main()
 {
    int a[10] = {1,2,2,4,6,6,7,8,9,10};
    int s = 0;
    int p = 0;
    for (int i = 0; i<10;i++)
    {
        for ( int j = 1; j<10;j++)
        {
            if (a[j] > a[i]&& s!=a[j])    
            {
                s = a[j];
                p++;
            }
            if (p==5)
            {
                break;
            }
        }
    }
    cout<<endl;
    cout<<s;
    return 0;
 }
Вот вроде теперь реализовал) Всем спасибо!
petyahohlov
27 / 22 / 5
Регистрация: 31.07.2013
Сообщений: 119
16.02.2014, 22:33     Пятый максимум в массиве #6
uemaka, не правильно(
введи int a[10] = {6,2,2,4,6,6,7,8,9,10};
uemaka
0 / 0 / 0
Регистрация: 02.09.2013
Сообщений: 33
18.02.2014, 18:05  [ТС]     Пятый максимум в массиве #7
Суть моего задания это
Отсортировать методом выбора, а только потом искать 5 максимум.
примерно так
int main()
{

int a[10] = {3,6,9,8,7,3,1,2,5,10};
int buf;
int s = 0;
int p = 0;
for(int i = 0; i < 10; i++)
{
int min = i;
for(int j = i + 1; j < 10; j++)
{
if(a[j]< a[min])
min = j;
}
if(min != i)
{
buf = a[min];
a[min] = a[i];
a[i] = buf;
}
}

for(int i = 0; i < 10; i++)
cout<< a[i] << endl;
for(int i = 0; i < 10; i++)
{
for (int j = 1; j < 10; j++)
{
if (a[j] > a[i] && s!=a[j])
{
s = a[j];
p++;
}
if (p==5)
{
break;
}
}
}
cout << "5 max = " << s << endl;
return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.02.2014, 19:29     Пятый максимум в массиве
Еще ссылки по теме:

C++ Определите максимум (М1) и минимум (М2) в массиве
Найти максимум и минимум в двумерном массиве C++
C++ Найти максимум и минимум в массиве, отсортировать массив

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

Или воспользуйтесь поиском по форуму:
petyahohlov
27 / 22 / 5
Регистрация: 31.07.2013
Сообщений: 119
18.02.2014, 19:29     Пятый максимум в массиве #8
uemaka, тогда нужно верно и полностью указывать задание
Yandex
Объявления
18.02.2014, 19:29     Пятый максимум в массиве
Ответ Создать тему
Опции темы

Текущее время: 01:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru