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

Найти минимальный элемент массива, используя вспомогательную рекурсивную функцию - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
din73107
0 / 0 / 0
Регистрация: 07.11.2010
Сообщений: 15
25.11.2011, 01:22     Найти минимальный элемент массива, используя вспомогательную рекурсивную функцию #1
Очень нужна ваша помощь. Нужно составить программу с использованием рекурсии. Все значения передавать функциям в виде параметров.

Дан массив Х из N вещественных чисел. Найти минимальный элемент массива, используя вспомогательную рекурсивную функцию, находящую минимум среди последних элементов массива Х, начиная с N-го.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2011, 01:22     Найти минимальный элемент массива, используя вспомогательную рекурсивную функцию
Посмотрите здесь:

5. Используя рекурсивную функцию, найти n-й член геометрической прогрессии с заданным первым членом b и знаменателем прогрессии q. C++
Найти минимальный элемент массива C++
Написать рекурсивную функцию, которая находит минимальный элемент в матрице (двумерном массиве). C++
C++ Создать рекурсивную функцию recursiveMinimum, которая возвращает наименьший элемент массива
C++ Найти минимальный элемент вектора, используя вспомогательную рекурсивную функцию
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
magirus
25.11.2011, 01:27
  #2
 Комментарий модератора 
может на втором году регистрации на форуме перечитаем правила? хотя бы в части касающейся именования тем?
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
25.11.2011, 09:59     Найти минимальный элемент массива, используя вспомогательную рекурсивную функцию #3
C
1
2
3
4
5
6
7
8
9
10
11
12
#include<stdio.h>
double Min(double *a, int n)
{
   return n == 1 ? a[0] : (Min(a, n-1) < a[n-1] ? Min(a, n-1) : a[n-1]);
}
 
int main()
{
    double a[5] = {1.0, -2.5, 3.4, -4.5, 0.0};
    printf("%f\n", Min(a, 5));
    return 0;
}
Но лучше, конечно, так:

C
1
2
3
4
5
double Min(double *a, int n)
{
   double buf;
   return n == 1 ? a[0] : ((buf = Min(a, n-1)) < a[n-1] ? buf : a[n-1]);
}
din73107
0 / 0 / 0
Регистрация: 07.11.2010
Сообщений: 15
25.11.2011, 15:06  [ТС]     Найти минимальный элемент массива, используя вспомогательную рекурсивную функцию #4
а можно сделать так, чтобы элементы массива и количество их вводились с клавиатуры?
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
25.11.2011, 15:09     Найти минимальный элемент массива, используя вспомогательную рекурсивную функцию #5
Цитата Сообщение от din73107 Посмотреть сообщение
а можно сделать так, чтобы элементы массива и количество их вводились с клавиатуры?
Можно, для вас это думаю совсем не затруднительно будет сделать)
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
25.11.2011, 15:52     Найти минимальный элемент массива, используя вспомогательную рекурсивную функцию #6
Цитата Сообщение от din73107 Посмотреть сообщение
а можно сделать так, чтобы элементы массива и количество их вводились с клавиатуры?
конечно, это же обычный ввод
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
#define SIZE 100
 
using namespace std;
 
 
int main(int argc, char* argv[])
{
 
        int arr[SIZE]; 
        int size;
 
        cout << " Enter size = ";
        cin >> size;
 
        for (int i=0;i<size;i++)
        {
                cout << "arr["<<i+1<<"]=";
                cin >> arr[i];
 
        }
        
        for (int i=0;i<size;i++)
        {
                cout << arr[i]<<"   ";
 
        }
 
 
        system ("pause");
        return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2011, 15:56     Найти минимальный элемент массива, используя вспомогательную рекурсивную функцию
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
25.11.2011, 15:56     Найти минимальный элемент массива, используя вспомогательную рекурсивную функцию #7
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void Init(double *a, int n)
{
   if (n > 0)
   {
       scanf("%lf", a + n - 1);
       Init(a, n - 1);
   }
}
 
double Min(double *a, int n)
{
   double buf;
   return n == 1 ? a[0] : ((buf = Min(a, n-1)) < a[n-1] ? buf : a[n-1]);
}
 
int main()
{
    double a[10];
    Init(a, 10);
    printf("%f\n", Min(a, 10));
    return 0;
}
Yandex
Объявления
25.11.2011, 15:56     Найти минимальный элемент массива, используя вспомогательную рекурсивную функцию
Ответ Создать тему
Опции темы

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