Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
everthinq
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 16
#1

Составить рекурсивную процедуру нахождения максимального элемента в массиве - C++

15.02.2014, 21:45. Просмотров 430. Ответов 4
Метки нет (Все метки)

3. Составить рекурсивную процедуру нахождения максимального элемента в массиве.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2014, 21:45     Составить рекурсивную процедуру нахождения максимального элемента в массиве
Посмотрите здесь:

Шаблон нахождения максимального элемента в массиве - C++
Доброго всем дня.. В общем проблема. Ничерта не могу понять в шаблонах (С++). Суть задания - создание шаблона для нахождения...

Составить функцию нахождения максимального элемента - C++
Составить функцию нахождения максимального элемента в диагонали матрицы, параллельной главной диагонали. Используя эту функцию в матрице...

Отладить код нахождения минимального и максимального элемента в линейном массиве из 15 элементов - C++
#include<stdio.h> #include<stdlib.h> #include<conio.h> int main () { clrscr (); int i; int min,max; int x; //ruchnoe...

Составить программу для нахождения номера максимального элемента массива - C++
4)Известен массив x1,х2,х3,…,х9. Составить программу для нахождения номера максимального элемента. Исходный массив, найденный номер...

Процедура (Составить процедуру для нахождения макс. элемента матрицы) - C++
Помогите написать программку. Задание: Составить процедуру для нахождения макс. элемента матрицы. Используя эту процедуру определить...

Составить функцию нахождения максимального элемента в диагонали матрицы, параллельной главной диагонали - C++
Составить функцию нахождения максимального элемента в диагонали матрицы, параллельной главной диагонали. Используя эту функцию в матрице...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Eldies
90 / 81 / 28
Регистрация: 06.02.2014
Сообщений: 120
16.02.2014, 01:22     Составить рекурсивную процедуру нахождения максимального элемента в массиве #2
C++
1
2
3
4
5
6
int getMaxFromArray(int* arr, int n)
{
    if (n == 1)
        return arr[0];
    return std::max(arr[n-1], getMaxFromArray(arr, n - 1) );
}
petyahohlov
27 / 22 / 5
Регистрация: 31.07.2013
Сообщений: 121
16.02.2014, 02:26     Составить рекурсивную процедуру нахождения максимального элемента в массиве #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Eldies Посмотреть сообщение
C++
1
2
3
4
5
6
int getMaxFromArray(int* arr, int n)
{
    if (n == 1)
        return arr[0];
    return std::max(arr[n-1], getMaxFromArray(arr, n - 1) );
}
не мог бы ты обьяснить что это значит?

return std::max(arr[n-1], getMaxFromArray(arr, n - 1) )

ну return возращает значение, это я знаю а остальное
Voivoid
674 / 277 / 12
Регистрация: 31.03.2013
Сообщений: 1,339
16.02.2014, 03:28     Составить рекурсивную процедуру нахождения максимального элемента в массиве #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Интересная задача, я бы сделал так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <cstddef>
#include <algorithm>
 
template <typename T, std::size_t n>
const T& find_max( const T( &arr )[ n ] ) {
  const T& head = arr[ 0 ];
  const T( &tail )[ n - 1 ] = reinterpret_cast<const T( & )[ n - 1 ]>( *( &arr[0] + 1 ) );
  return std::max( head, find_max( tail ) );
}
 
template <typename T>
const T& find_max( const T( &arr )[ 1 ] ) {
  return arr[ 0 ];
}
 
 
int main() {
  int data[] = { 1, 10, 3, 4, 5 };
  int result = find_max( data );
  return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.02.2014, 09:46     Составить рекурсивную процедуру нахождения максимального элемента в массиве
Еще ссылки по теме:

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

Написать рекурсивную функцию нахождения n-элемента арифметической прогрессии - C++
Помогите пожалуйста решить задачу на рекурсию тем быстрее тем лучше. Задачу нужно реализовать на С++ Зарание Спасибо! Задача: Даны...

Разработать рекурсивную функцию нахождения минимального элемента данной последовательности а1, а2, … - C++
Разработать рекурсивную функцию нахождения минимального элемента данной последовательности а1, а2, …, аn.

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

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

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


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

Или воспользуйтесь поиском по форуму:
Eldies
90 / 81 / 28
Регистрация: 06.02.2014
Сообщений: 120
16.02.2014, 09:46     Составить рекурсивную процедуру нахождения максимального элемента в массиве #5
petyahohlov, если в массиве 1 элемент - вернуть его.
иначе - вернуть std::max(arr[n-1], getMaxFromArray(arr, n - 1) );

std::max(a, b) - функция, возвращающая бОльшее из двух чисел
arr[n-1] - последний элемент массива
getMaxFromArray(arr, n - 1) - рекурсивный вызов функции для всех элементов массива кроме последнего
Yandex
Объявления
16.02.2014, 09:46     Составить рекурсивную процедуру нахождения максимального элемента в массиве
Ответ Создать тему
Опции темы

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