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

Функции поиска максимального и минимального элементов массива - C++

03.08.2016, 00:30. Просмотров 956. Ответов 4
Метки нет (Все метки)

Всем доброго времени суток. Очень прошу помочь написать программу. Задание звучит так: "Написать функции, которые определяют максимальный и минимальный элемент в массиве. Каждая из функций возвращает индекс соответствующего элемента. Если в массиве несколько элементов, значение которых максимально (минимально), то функция должна возвратить индекс элемента, который находится ближе к началу массива".
Я так понимаю, что нужно сделать как-то так, но полную программу не получается написать.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "stdafx.h"
#include <iostream>
#include <cstring>
using namespace std;
// шаблон функции для поиска максимального значения в массиве
template <typename T>
T searchMax(const T* array, int size)
{
    T max = array[0]; // максимальное значение в массиве
    for (int ix = 0; ix < size; ix++)
        if (max < array[ix])
            max = array[ix];
    return max;
}
Заранее спасибо за участие и подсказки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.08.2016, 00:30
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Функции поиска максимального и минимального элементов массива (C++):

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

Программа для поиска минимального и максимального значения массива
#include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;math.h&gt; #include...

Функция поиска минимального и максимального элемента массива и их передачи в вызывающую функцию
Дана целочисленная матрица размера 6x9. Определить функцию поиска значения и...

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

В программе написать функции: вставки элемента, поиска максимального элемента, определения среднего арифметического элементов массива
В целочисленном массиве Х(N) после каждого четного числа вставить максимальный...

Вычислить сумму элементов массива, находящихся до минимального и после максимального элементов
Помогите пожалуйста написать программу на языке С++ по заданному условию:...

4
Bonya2
1 / 1 / 0
Регистрация: 01.08.2016
Сообщений: 15
Завершенные тесты: 1
03.08.2016, 02:50 #2
Золушка_я,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
// шаблон функции для поиска индекса максимального значения в массиве
template <typename T>
int searchMax(const T* array, int size)
{
T max = array[0]; // максимальное значение в массиве
 
for (int ix = 0; ix < size; ix++)
if (max < array[ix])
{
      max = array[ix];
     return ix;
}
}
0
obivan
Падаван С++
419 / 239 / 82
Регистрация: 11.11.2014
Сообщений: 842
Завершенные тесты: 2
03.08.2016, 04:16 #3
Bonya2, этот код не правильный, собственно вы вернете индекс элемента который больше первого элемента в массиве но он не обязательно максимальный, да и помимо этого как бы ваше меньше работало с массивом строк, коль начали делать шаблонно
0
DevAlone
324 / 276 / 78
Регистрация: 02.08.2016
Сообщений: 1,008
Завершенные тесты: 4
03.08.2016, 10:12 #4
Как-то так, с минимальным тоже самое, только <=.
C++
1
2
3
4
5
6
7
8
9
10
11
int findIndexOfMax(int array[], int lenght) 
{
    lenght--;//получаем последний индекс
    int max_index = lenght;//сохраняем последний элемент
    for (lenght--; lenght >= 0; lenght--) //перебираем с предпоследнего до первого
    {
        if (array[lenght] >= array[max_index])// ищем максимальный и при этом близкий к началу
            max_index = lenght;
    }
    return max_index;
}
1
Peoples
1270 / 775 / 730
Регистрация: 06.02.2016
Сообщений: 2,085
Записей в блоге: 15
Завершенные тесты: 4
03.08.2016, 11:46 #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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
template<typename T>
T maxx(const T *x, int s) {
    T max=x[0];
    int index;
    for(size_t i=0; i!=s; i++)
        if(x[i]>max) {
            max=x[i];
            index=i;
        }
    return index;
}
template<typename T>
T minn(const T *x, int s) {
    T min=x[0];
    int ind;
    for(size_t i=0; i!=s; i++)
        if(x[i]<min) {
            min=x[i];
            ind=i;
        }
    return ind;
}
int main() {
    srand(time(NULL));
    const int size=20;
    int *a=new int[size];
    for(size_t i=0; i!=size; i++) {
        a[i]=-10+rand()%20;
    }
    for(size_t i=0; i!=size; i++) {
        cout<<a[i]<<" ";
    }
    cout<<endl;
    cout<<"Index of max: "<<maxx(a,size)<<endl;
    cout<<"Index of min: "<<minn(a,size)<<endl;
    return 0;
}
Добавлено через 7 минут
Ошибся чуть
C++
1
2
int maxx(const T *x, int s)
int  minn(const T *x, int s)
1
03.08.2016, 11:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.08.2016, 11:46
Привет! Вот еще темы с решениями:

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

Найти среднее арифметическое элементов массива без учёта максимального и минимального элементов
Нужно найти среднее арифметическое элементов массива без учёта максимального и...

Вычислить сумму элементов вещественного массива, находящихся до минимального и после максимального элементов
Помогите пожалуйста доделать программу по условию : Вычислить сумму элементов...

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


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

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

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