С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 02.09.2013
Сообщений: 33
1

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

16.02.2014, 18:18. Показов 670. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
прога должна выдать 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" где я делаю неправильно?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.02.2014, 18:18
Ответы с готовыми решениями:

Найти пятый максимальный элемент в массиве
#include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &quot;math.h&quot; using namespace std; const int N =...

Максимум в массиве
Найти максимум в массиве иего положение Добавлено через 1 минуту #include &lt;iostream&gt; using...

максимум в массиве
Народ, помогите! Как найти максимум в массиве с помощью циклов и условного оператора?

Максимум в массиве
Вводится массив, состоящий из целых чисел. Найти наибольшее среди них. Входные данные Сначала...

7
27 / 22 / 13
Регистрация: 31.07.2013
Сообщений: 121
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;
 }
1
0 / 0 / 0
Регистрация: 02.09.2013
Сообщений: 33
16.02.2014, 19:59  [ТС] 3
Проблема в том что если в массиве повторяются элементы как {2,2} то это не идет в максимум, ток когда так напр {1,2}
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
16.02.2014, 20:04 4
Цитата Сообщение от uemaka Посмотреть сообщение
если в массиве повторяются элементы как {2,2} то это не идет в максимум
Тогда может быть задача должна звучать иначе?
прога должна выдать 5 максимум то есть элемент который больше 5 разных чисел
1
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;
 }
Вот вроде теперь реализовал) Всем спасибо!
0
27 / 22 / 13
Регистрация: 31.07.2013
Сообщений: 121
16.02.2014, 22:33 6
uemaka, не правильно(
введи int a[10] = {6,2,2,4,6,6,7,8,9,10};
1
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;
}
0
27 / 22 / 13
Регистрация: 31.07.2013
Сообщений: 121
18.02.2014, 19:29 8
uemaka, тогда нужно верно и полностью указывать задание
0
18.02.2014, 19:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.02.2014, 19:29
Помогаю со студенческими работами здесь

Найти максимум в массиве
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; #include &lt;math.h&gt; using namespace std;...

максимум в одномерном массиве
Добрый день. Хочу найти максимум в одномерном массиве. Подскажите, где делаю не так. И вопрос:...

Максимум и минимум в массиве
Как найти максимум и минимум в данном массиве, и выделить их другим цветом? void table() {...

Минимум и максимум в двумерном массиве
Написать программу, которая находит минимум и максимум в двумерном массиве. Помогите пожалуйста!


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru