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

Рекурсивные функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сравнить 2 файла по содержанию. Что следует изучить? http://www.cyberforum.ru/cpp-beginners/thread979474.html
Хочу решить следующую задачу: удалить дубликаты файлов из указанной директории, используя структуру win32_find_data. Имена файлов разные. Допустим, в определенной папке имеются 2 файла...
C++ ошибок не выводит, но не работает struct TList { int Info; TList *Next; }; //Создание односвязного списка void MakeList (TList *Head, int n) { srand (time(NULL)); Head = new TList; http://www.cyberforum.ru/cpp-beginners/thread979473.html
C++ Масив на 18 действ. Упорядочить по возростанию масив
Ребята помогите пожалуйста с С++ Builder 1.Масив на 18 действ. Упорядочить по возростанию масив 2.Масив на 18 действ. Вычислить максимальный елемент и поменятьего местами с последним елементом
C++ Функции. Для заданного m получить таблицу первых m простых чисел
Исходные данные должны вводиться с клавиатуры. Массивы сформировать с помощью генератора псевдослучайных чисел. Вывести на экран исходные данные и полученные результаты. Решить задачу, используя...
C++ Зная координаты углов прямоугольника, найти его периметр http://www.cyberforum.ru/cpp-beginners/thread979454.html
Такая вот задача: имеются координаты углов прямоугольника, найти периметр. Мой код, не могу понять где ошибка(и), подскажите пожалуйста. #include "stdafx.h" #include <iostream> using namespace...
C++ Вычислить с точностью e значение суммы Помогите разобраться. MS Visual C++. подробнее

Показать сообщение отдельно
Hunter13ua
46 / 46 / 5
Регистрация: 25.10.2011
Сообщений: 183
17.10.2013, 00:01
Стоило бы в функции создать переменные int m1 = FindMax(..) и сравнивать их, но если компилятор умеет хорошо оптимизировать, то так будет даже быстрее.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 
int FindMax(int *array, int len)
{
        return (len == 1) ? *array :
                (FindMax(&array[len/2],len/2) > FindMax(array,len/2))?
                        FindMax(&array[len/2],len/2) : FindMax(array,len/2);
}
int main(int argc, char* argv[])
{
        int a[] = {1,5,3,5,7,2,3};
        cout << FindMax(a,7) << endl;
        cin.get();
        return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru