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

Нужно подправить рекурсивную функцию - C++

Восстановить пароль Регистрация
 
Gelllius
2 / 2 / 0
Регистрация: 05.06.2013
Сообщений: 11
24.06.2013, 02:01     Нужно подправить рекурсивную функцию #1
Всем доброго времени суток!

Сама задача звучит так:
Разработать рекурсивную функцию возвращающую значение, для вычисления максимального значения в одномерном массиве.
Вот мой код. Помогите плз подправить функцию Max. Я никак сам не додумаюсь как тут и что сделать чтобы рекурсия явилась Только если можно, попроще, я в ВУЗе только начал рекурсию проходить...1 курс...будь он не ладен(((

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
#include <iostream>
using namespace std;
const int N = 8;
int Max(int* a, int n,int m)
{
 
 
    if(a[n]>=m){
    m=a[n];
       }
    else
    return  Max(a-1, N-1,m);
}
 
int main()
{
    int a[N];
    for(int i=0;i<N;i++){
    cout<<"a["<<i<<"]=";
    cin>>a[i];}
    int max=a[0];
   cout << Max(a, N, max) << endl;
   return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.06.2013, 02:01     Нужно подправить рекурсивную функцию
Посмотрите здесь:

массив нужно подправить C++
подправить функцию вставки элемента C++
нужно подправить C++
Нужно подправить программу C++
Строки, нужно подправить код C++
C++ Нужно подправить функцию, не работает
C++ Нужно написать рекурсивную функцию, которая определит - является ли симметричной часть строки от n, до z
Нужно подправить код C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
AntonChik
1083 / 581 / 21
Регистрация: 11.11.2008
Сообщений: 1,544
24.06.2013, 07:34     Нужно подправить рекурсивную функцию #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
const int N = 8;
int Max(int* a, int n,int m)
{
    if(a[n]>=m)m=a[n];
    if(n<1)return m;
    return  Max(a, n-1,m);
}
 
int main()
{
    int a[N];
    for(int i=0;i<N;i++){
    cout<<"a["<<i<<"]=";
    cin>>a[i];}
    int max=a[0];
   cout << Max(a, N-1, max) << endl;
   return 0;
}
Yandex
Объявления
24.06.2013, 07:34     Нужно подправить рекурсивную функцию
Ответ Создать тему
Опции темы

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