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

Рекурсия, нахождение минимума в массиве - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Sick2
14 / 14 / 1
Регистрация: 26.11.2010
Сообщений: 235
21.05.2011, 22:28     Рекурсия, нахождение минимума в массиве #1
В общем, в названии темы само задание.
C++
1
2
3
4
5
6
int min(int a[],int n)
{
    int minim=a[0];
    if(minim>a[n]) {minim=a[n]; return min(a,n-1);}
    else return minim;
}
Что-то набросал, но сам понимаю, что бред. Исправьте, подскажите =\
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
21.05.2011, 22:34     Рекурсия, нахождение минимума в массиве #2
Можно так:
C++
1
2
3
4
5
6
7
8
9
#include <climits>
 
int min_elem(int *a, int sz, int _min = INT_MAX, int i = 0){
  if(i == sz - 1)
    return _min;
  else if(a[i] < _min)
    _min = a[i];
  min_elem(a, sz, _min, i + 1);
}
Sick2
14 / 14 / 1
Регистрация: 26.11.2010
Сообщений: 235
21.05.2011, 23:52  [ТС]     Рекурсия, нахождение минимума в массиве #3
Извиняюсь, а что за переменная sz?
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
22.05.2011, 00:11     Рекурсия, нахождение минимума в массиве #4
Цитата Сообщение от Sick2 Посмотреть сообщение
Извиняюсь, а что за переменная sz?
Количество елементов в масиве.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
22.05.2011, 00:43     Рекурсия, нахождение минимума в массиве #5
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
int * min_element(int * arr, int size){
    return ( size == 1 ) ? arr : ( *arr < *(arr + size - 1) ) ? min_element(arr, size - 1) : min_element(arr + 1, size - 1);
}
 
int main(void){
    int arr[] = { 3, 2, 5, 4, 1, 6 };
 
    printf("Min element: %d\n", *min_element(arr, sizeof(arr) / sizeof(*arr)));
    
    return 0;
}
Yandex
Объявления
22.05.2011, 00:43     Рекурсия, нахождение минимума в массиве
Ответ Создать тему
Опции темы

Текущее время: 21:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru