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

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

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

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток. Очень прошу помочь написать программу. Задание звучит так: "Написать функции, которые определяют максимальный и минимальный элемент в массиве. Каждая из функций возвращает индекс соответствующего элемента. Если в массиве несколько элементов, значение которых максимально (минимально), то функция должна возвратить индекс элемента, который находится ближе к началу массива".
Я так понимаю, что нужно сделать как-то так, но полную программу не получается написать.
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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.08.2016, 00:30
Ответы с готовыми решениями:

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

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

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

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

4
1 / 1 / 0
Регистрация: 01.08.2016
Сообщений: 15
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
Падаван С++
447 / 261 / 89
Регистрация: 11.11.2014
Сообщений: 916
03.08.2016, 04:16 3
Bonya2, этот код не правильный, собственно вы вернете индекс элемента который больше первого элемента в массиве но он не обязательно максимальный, да и помимо этого как бы ваше меньше работало с массивом строк, коль начали делать шаблонно
0
331 / 283 / 78
Регистрация: 02.08.2016
Сообщений: 1,008
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
Эксперт С++
1624 / 954 / 782
Регистрация: 06.02.2016
Сообщений: 2,452
Записей в блоге: 31
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.08.2016, 11:46
Помогаю со студенческими работами здесь

Написать функцию поиска максимального и минимального элементов одномерного массива
Задание:Написать функцию поиска максимального и минимального элементов одномерного массива. В...

Написать функцию поиска максимального и минимального элементов одномерного массива
Задание: Написать функцию поиска максимального и минимального элементов одномерного массива. В...

Алгоритм поиска минимального и максимального элементов в массиве
В массиве X из 20 целых чисел найти наибольший и наименьший элементы и вывести их на экран program...

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


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

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