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

Нахождение 3 максимальных элементов массива - C++

24.05.2016, 00:20. Просмотров 221. Ответов 2
Метки нет (Все метки)

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
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
 
int main()
{
    int *arr; // указатель для выделения памяти под массив
    int size; // размер массива  
    // Ввод количества элементов массива
    cout << "n = ";
    cin >> size;
 
    if (size <= 0) {
        // Размер масива должен быть положитлеьным
        cerr << "Invalid size" << endl;
        return 1;
    }
 
    arr = new int[size]; // выделение памяти под массив
 
    // заполнение массива
    for (int i = 0; i < size; i++) {
        cout << "arr[" << i << "] = ";
        cin >> arr[i];
    }
 
    // Нахождение первого максимального элемента массива
    int max1 = arr[0];
    for (int i = 1; i < size; i++) {
        if (arr[i] > max1) {
            max1 = arr[i];
        }
    }
    
    // Нахождение второго максимального элемента массива
    int max2 = arr[0];
    for (int i = 1; i < size; i++) {
        if (arr[i] < max1) {
            max2 = arr[i];
        }
    }
    
    // Нахождение третьего максимального элемента массива
    int max3 = arr[0];
    for (int i = 1; i < size; i++) {
        if (arr[i] < max2) {
            max3 = arr[i];
        }
    }
    
    // Вывод результата на экран
    cout << "max = [" << max1 << ";" << max2 << ";" << max3 << "]" << endl;
 
    delete [] arr; // освобождение памяти
    
    return 0;
}

http://www.cyberforum.ru/cpp-beginners/thread1364076.html
Находит первый максимальный элемент,а второй и третий не могу найти.
Помогите в конце кода
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2016, 00:20
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Нахождение 3 максимальных элементов массива (C++):

Удаление максимальных элементов из массива
Помогите пожалуйста написать программу на С. Задан массив действительных чисел...

Определение максимальных элементов массива (С++)
Всем добрый день) Задача следующая. Даны два массива, в одном 5 элементов, в...

Выбрать n максимальных элементов из массива
Есть структура: struct data { /* какте-то поля */ uint32_t num; ...

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

Найти количество максимальных элементов массива
Дан массив а,состоящий из n целых чисел (n&lt;=100).Найти количество максимальных...

2
BaraZHeR
12 / 12 / 3
Регистрация: 20.11.2013
Сообщений: 123
24.05.2016, 00:44 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
#include <iterator>
 
 
int main()
{
    using namespace std;
    int mas[] = { 1, 20, 2, 3, 8, 1, 4, 5 };
    const int N = sizeof(mas) / sizeof(mas[0]);
    sort(mas, mas + N, greater<int>() );
    copy(mas, mas + 3, ostream_iterator<int>(cout, " ")); 
 
    getchar();
    return 0;
}
2
carl3133
0 / 0 / 7
Регистрация: 22.11.2015
Сообщений: 56
24.05.2016, 00:57  [ТС] #3
Спасибо
А можно этот же код сделать под рандом,чтобы задавать самому размерность массива из рандомных элементов,а не вписывать его в код?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.05.2016, 00:57
Привет! Вот еще темы с решениями:

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

Найти произведение индексов L максимальных элементов массива
Для массива А(n) найти произведение индексов L максимальных элементов, где...

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

Переставить местами выбранный элемент и первый из максимальных элементов массива
3).Объединим первый и второй приёмы. Решив задачу, суть которой не в том, чтобы...


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

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

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