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

Поиск минимума с помощью рекурсивной функции - 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
...
 Аватар для anmartex
1699 / 1192 / 494
Регистрация: 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;
}
 
Текущее время: 05:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru