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

Функция, возвращающая адрес максимального элемента массива, работает неправильно

07.09.2019, 23:46. Показов 1268. Ответов 1
Метки нет (Все метки)

Задание: написать функцию которая возвращает адрес максимального элемента массива.
https://ibb.co/ZSYJw7T
Код:
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
59
60
61
62
63
#include <iostream>
#include <time.h>
#include "Windows.h"
using namespace std;
 
template <typename T>
void Ini_arr(T arr[], int size);
void My_swap(int *ap, int *bp);
template<typename Type>
Type Search_bigger(Type *ap, Type *bp);
template<typename T>
T* Search_max_arr(T *arr[], int size);
int main()
{
    srand(time(0));
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    int const size = 10;
    int arr[size];
    Ini_arr(arr, size);
    cout << Search_max_arr(&arr, size)<<endl;
 
    system("pause");
}template <typename T>
 
void Ini_arr (T arr[], int size)
{
    for (int i = 0; i < size; i++)
    {
        arr[i] = 0 + rand() % (10 - 0 + 1);
    }
}
 
void My_swap(int *ap, int *bp)
{
    int temp = *ap;
    *ap = *bp;
    *bp = temp;
}
 
template<typename Type>
Type Search_bigger(Type *ap, Type *bp)
{
    Type max;
    return max = (*ap > *bp) ? *ap : *bp;
}
 
template<typename T>
T* Search_max_arr(T *arr[], int size)
{
    T max = arr[0];
    int max_index = 0;
    for (T* ptr =arr; ptr <arr+size-1; ptr++)
    {
        if (max < *ptr)
        {
            max = *ptr;
            max_index = &ptr;
        }
    }
    return max_index;
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.09.2019, 23:46
Ответы с готовыми решениями:

Функция, возвращающая номер максимального элемента массива
массив из 10 целых чисел функцию возвращающию максимальный номер

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

Функция возвращающая индекс элемента массива равного заданному числу
Реализовать функцию, которая принимает массив (плюс его длину) , а также число n , и возвращает...

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

1
Продавец времени
5779 / 3188 / 732
Регистрация: 12.03.2015
Сообщений: 15,100
08.09.2019, 02:08 2
Ахтунг! Не отлаживал, писал на заборе!
C++
1
2
3
4
5
6
7
8
9
10
11
12
template<typename T>
T* search_max(T* arr, unsigned count)
{
  T max = *arr;
  T* ptr = arr;
  while (count--)
  {
    if (*arr > max) ptr = arr, max = *arr;
    arr++;
  }   
  return ptr;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.09.2019, 02:08

Определение максимального значения одномерного массива (неправильно работает код)
Дано последовательность (массив) 15 чисел найти max(max(min(A, A), min(A, A)), A+A) ...

Функция поиска максимального элемента в массиве. Не работает!
function max_value(const a:array of integer):integer; var i,elem,max:integer; begin for...

Функция нахождения максимального элемента массива
#include &lt;iostream.h&gt; main() {int i, max, A; for(i=1;i&lt;=5;i++) {cout&lt;&lt;&quot;vvedite element massiva:...

Функция нахождения максимального элемента массива
Разработать функцию нахождения максимального элемента массива и применить ее для двух массивов ...


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

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

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