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

Поиск минимума с помощью рекурсивной функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ На чем реализовать форму http://www.cyberforum.ru/cpp-beginners/thread1100392.html
Собственно долгое время пытаюсь выбрать на чем разрабатывать форму. Что могли бы предложить? OpenGL отпадает.
C++ Как создать генератор случайных чисел Здравствуйте!Я работаю в dev c++ 4.9.9.2 киньте готовый исходник.Зарание спасибо! http://www.cyberforum.ru/cpp-beginners/thread1100382.html
C++ Среди цифр введенной строки вывести на экран ту которая встречалась чаще всего
Среди цифр введенной строки вывести на экран ту которая встречалась чаще всего, если таких цифр несколько, то вывести ту которая попалась первой.
Является ли сумма делимой на 2 без остатка C++
помогите решить задачу в с++ 1) задать случайно массив от -20 до 50 с шагом 0.5, выводить является ли сумма делимой на 2 без остатка
C++ Есть сумма, нужно подобрать так купюры, чтобы разменять эту сумму без остатка http://www.cyberforum.ru/cpp-beginners/thread1100355.html
Я не умею решать задачи подобного типа: есть сумма нужно подобрать так купюры чтобы разменять эту сумму без остатка. Киньте ссылку на статью, или прмер приведите
C++ Классы, иерархия классов а) Создать иерархию классов здание, административное здание и жилое здание. Определить конструктор копирования, оператор присваивания через соответствующие функции базового класса. b) Создать класс... подробнее

Показать сообщение отдельно
anmartex
...
1708 / 1201 / 496
Регистрация: 12.02.2013
Сообщений: 1,978
19.02.2014, 14:19
Цитата Сообщение от Staffi Посмотреть сообщение
*array почему со * ???
Ну раз смущает, то можно и так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int mina(int array[], unsigned n) {
    // Принимаем первый элемент за минимальный
    int min = array[0];            
    // Если в массиве больше одного элемента, то
    if (n > 1) {
        // Вызываем саму себя, сместив указатель начала массива
        // на один элемент, соответственно декрементируем количество
        // элементов на 1
        min = mina(array + 1, n - 1);
    }
    // Возвращаем минимальный элемент среди значения текущего
    // элемента и значения элемента, которое вернула предыдущая функция
    return (array[0] < min) ? array[0] : min;
}
Хотя, наверное, было бы правильнее сделать вот так:
C++
1
2
3
4
5
6
7
int mina(int array[], unsigned n) {
    if (n < 2) {
        return array[0];
    }
    int min = mina(array + 1, n - 1);
    return (array[0] < min) ? array[0] : min;
}
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.