Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Золушка_я
0 / 0 / 0
Регистрация: 13.06.2016
Сообщений: 79
#1

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

03.08.2016, 00:30. Просмотров 436. Ответов 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++):

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

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

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

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

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

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

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
Падаван С++
404 / 224 / 58
Регистрация: 11.11.2014
Сообщений: 796
Завершенные тесты: 2
03.08.2016, 04:16 #3
Bonya2, этот код не правильный, собственно вы вернете индекс элемента который больше первого элемента в массиве но он не обязательно максимальный, да и помимо этого как бы ваше меньше работало с массивом строк, коль начали делать шаблонно
0
DevAlone
320 / 272 / 55
Регистрация: 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
1172 / 677 / 426
Регистрация: 06.02.2016
Сообщений: 1,781
Записей в блоге: 13
Завершенные тесты: 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
Привет! Вот еще темы с ответами:

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

Поиск минимального и максимального элементов массива - C++
вот код //--------------------------------------------------------------------------- #include &lt;cmath&gt; #include &lt;iostream&gt; #pragma...

Сумма минимального и максимального элементов массива - C++
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) сумму минимального и максимального элементов массива; 2)...

Поиск максимального и минимального элементов массива - C++
Народ спасайте! Как сделать так чтобы человек вводит сколько элементов массива, вводит их, а ему пишут максимальное и минимальное! И...


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

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

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