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

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

Войти
Регистрация
Восстановить пароль
 
v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
#1

Создать рекурсивную функцию recursiveMinimum, которая возвращает наименьший элемент массива - C++

27.09.2012, 11:17. Просмотров 860. Ответов 5
Метки нет (Все метки)

Помогите решить
Напишите рекурсивную функцию recursiveMinimum, которая принимает массив
и размер массива как аргументы и возвращает наименьший элемент массива.
Функция должна прекращать свою работу и возвращаться, если принимаемый
массив имеет один элемент.

Вот что у меня получилось Дальше не знаю как сделать.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "stdafx.h"
#include "iostream"
using namespace std;
 
int recursiveMinimum(const int arr[], int size)
{
    if (size == 1) return arr[size-1];
    else
        ...
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    
 
    system("pause");
    return 0;
}
Мне бы эту функцию дописать. recursiveMinimum()
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2012, 11:17     Создать рекурсивную функцию recursiveMinimum, которая возвращает наименьший элемент массива
Посмотрите здесь:

C++ Создать функцию, которая возвращает количество элементов массива, меньших чем число, заданное пользователем. Массив целочисленный, передается функции
C++ Создать функцию, которая возвращает количество отрицательных элементов массива
Написать рекурсивную функцию, которая находит минимальный элемент в матрице (двумерном массиве). C++
C++ Написать функцию, которая возвращает максимальный элемент одномерного массива
C++ Написать функцию getElem, которая возвращает ссылку на i - тый элемент массива
C++ Напишите рекурсивную функцию, которая возвращает среднее из n элементов массива чисел
Создать функцию, которая возвращает количество двузначных элементов массива C++
C++ Напишите рекурсивную функцию, которая возвращает среднее из n элементов массива чисел
Составить рекурсивную функцию, которая находит наименьший элемент массива из реальных чисел C++
Создать рекурсивную функцию, которая возвращает наименьший элемент массива C++
Создать функцию min, которая находит наименьший элемент вещественного массива А размера N C++
Написать программу, содержащую функцию, которая возвращает минимальный элемент переданного ей массива C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vndtta
77 / 54 / 6
Регистрация: 17.10.2011
Сообщений: 164
Завершенные тесты: 1
27.09.2012, 11:48     Создать рекурсивную функцию recursiveMinimum, которая возвращает наименьший элемент массива #2
C++
1
2
3
4
5
6
7
8
9
10
int recursiveMinimum(const int arr[], int size)
{
    if (size == 1) return arr[0];
    else
        {
                int a=recursiveMinimum(arr,size/2);
                int b=recursiveMinimum(arr+size/2,size-size/2);
                return a>b?a:b;
        }
}
как-то так
v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
27.09.2012, 12:13  [ТС]     Создать рекурсивную функцию recursiveMinimum, которая возвращает наименьший элемент массива #3
Так она у меня максимальное возвращает. А если поменять return a>b?a:b; То тогда минимальное.
C++
1
return a<b?a:b;
Спасибо
Elfenlide
23 / 23 / 1
Регистрация: 15.04.2012
Сообщений: 183
27.09.2012, 13:15     Создать рекурсивную функцию recursiveMinimum, которая возвращает наименьший элемент массива #4
Цитата Сообщение от vndtta Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
int recursiveMinimum(const int arr[], int size)
{
    if (size == 1) return arr[0];
    else
        {
                int a=recursiveMinimum(arr,size/2);
                int b=recursiveMinimum(arr+size/2,size-size/2);
                return a>b?a:b;
        }
}
как-то так
А можете подробнее расписать?
А то я с рекурсией как-то не могу подружиться совсем....почему bvtyyj siize\2 b arr+size/2/////size-size\2.......
Почему так а не по другому?
как вы строите алгоритм чтобы определить что нужно возвращать?....
vndtta
77 / 54 / 6
Регистрация: 17.10.2011
Сообщений: 164
Завершенные тесты: 1
27.09.2012, 13:48     Создать рекурсивную функцию recursiveMinimum, которая возвращает наименьший элемент массива #5
Цитата Сообщение от Elfenlide Посмотреть сообщение
А можете подробнее расписать?
А то я с рекурсией как-то не могу подружиться совсем....почему bvtyyj siize\2 b arr+size/2/////size-size\2.......
Почему так а не по другому?
как вы строите алгоритм чтобы определить что нужно возвращать?....
ну это просто массив разделенный на две части
мы возвращаем минимум из 2 результатов рекурсивного вызова по каждой части массива
min( min(arr{0} arr{1} ... arr{ [size/2] -1 } ) min( arr{ [size/2] } arr{ [size/2]+1 } ... arr{ size-1 } )

можно разделить на 3 части и или 10 все равно,
можно брать элемент и сравнить его с минимумом оставшейся части массива
C++
1
2
3
4
5
...
else{
   int tmp=recursiveMinimum(arr,size-1)
   return arr[size-1]<tmp?arr[size-1]:tmp;
}
просто в условии ничего нет о том какой метод использовать
Elfenlide
23 / 23 / 1
Регистрация: 15.04.2012
Сообщений: 183
27.09.2012, 14:03     Создать рекурсивную функцию recursiveMinimum, которая возвращает наименьший элемент массива #6
Цитата Сообщение от vndtta Посмотреть сообщение
ну это просто массив разделенный на две части
мы возвращаем минимум из 2 результатов рекурсивного вызова по каждой части массива
min( min(arr{0} arr{1} ... arr{ [size/2] -1 } ) min( arr{ [size/2] } arr{ [size/2]+1 } ... arr{ size-1 } )

можно разделить на 3 части и или 10 все равно,
можно брать элемент и сравнить его с минимумом оставшейся части массива
C++
1
2
3
4
5
...
else{
   int tmp=recursiveMinimum(arr,size-1)
   return arr[size-1]<tmp?arr[size-1]:tmp;
}
просто в условии ничего нет о том какой метод использовать
Понятно, спасибо
Yandex
Объявления
27.09.2012, 14:03     Создать рекурсивную функцию recursiveMinimum, которая возвращает наименьший элемент массива
Ответ Создать тему
Опции темы

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