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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить рекурсивно полином Лежандра порядке n http://www.cyberforum.ru/cpp-beginners/thread1097540.html
2. Вычислить рекурсивно полином Лежандра порядке n: P0(x) = 1; P1(x) = x; Pn(x)=((2n-1)Pn-1(x) - (n-1)Pn-2(x)/n
C++ Структуры. Вывести информацию по победителю в каждой секции и найти средний бал по каждой секции Ведомости про участников конкурса содержат следующую информацию: фамилию,имя,секцию,набранный балл.Вывести информацию по победителю в каждой секции и найти средний бал по каждой секции. http://www.cyberforum.ru/cpp-beginners/thread1097537.html
C++ Не проверяется условие
Задание состоит в том, чтобы вывести на экран фамилии студентов, которые живут в Киеве и имеют оценку не нижу 4.5. Вопрос: почему не проверятся условие, а просто игнорируется if(spisok.address="Kiev")? Программа компилируется, но на экран выводятся фамилии студентов, у которых балл не меньше 4.5, не проверяя первого условия. заранее спасибо #include <iostream> #include <conio.h> using...
Напишите простой шаблон предикатной функции isEgualTo, которая сравнивает два своих параметра C++
Напишите простой шаблон предикатной функции isEgualTo, которая сравнивает два своих параметра при помощи операции проверки равенства (==) и возвращает true, если они равны, и false, если не равны. Используйте этот шаблон функции в программе, которая вызывает isEqualTo с различными встроенными типами аргументов. Вот что набросал, однако не работает.. Прощу помощи #include "stdafx.h"...
C++ Создание стека с односвязным LinkedList http://www.cyberforum.ru/cpp-beginners/thread1097499.html
В данной программе требуется создать методы для работы со стеком. (Показать инкапсуляцию в C++) Первый раз пишу на C++, опыта никакого, ошибок полно. Знаю все только в теории. //Содержание заголовочного файла stack.h #ifndef STACK_H #define STACK_H #include <iostream> using namespace std;
C++ Длинная арифметика. Факториал Придумать алгоритм факториала, не сложно, для 1-14. Но дальше не знаю как сделать длинную арифметику для больших чисел. Подскажите пожалуйста как можно такое реализовать на Си(Си++)? подробнее

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

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