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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 29, средняя оценка - 4.72
Gene4ka
Сообщений: n/a
#1

Рекурсия,заполнение массива рекурсивной функцией. - C++

05.11.2008, 23:26. Просмотров 3629. Ответов 5
Метки нет (Все метки)

привет! рекурсия....это хуже всего!!! ((
А рекурсивная функция, которая заполняет массив целых чисел значениями, вводимыми пользователем, в обратном порядке...это еще хуже!!!
Коротко:
Код
#include <iostream>
using namespace std;
int rek(int n, int *a)
{
    if (n==1)
        return a[0];
    if (n==0)
        return 0;
    return rek(n--,a);                          ??????????
    
}
void main()
{
    int *A;
    int i=0,r;
    cout<<"Vvedite razmernoct massiva A"<<endl;
    cin>>r;

    cout<<"Vvedite massiv"<<endl;
    A=new int [r];
    for(i=0;i<r;i++)
        cin>>A[i];
    cout<<"Polychennii massiv"<<endl;

    rek(r,A);                                   ????????????????

    cout<<rek<<endl;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2008, 23:26     Рекурсия,заполнение массива рекурсивной функцией.
Посмотрите здесь:

C++ Заполнение вектора функцией copy из бинарного файла
Нужно количество цифр с рекурсивной функцией C++
программа с рекурсивной функцией C++
Написать программу с рекурсивной функцией C++
C++ Программа с рекурсивной функцией (расставляет между заданными шестью цифрами знаки операций)
Написать программу с рекурсивной функцией вычисляющий выражение C++
C++ Создать структуру с рекурсивной функцией
C++ Заполнение массива с клавы, и подсчет суммы элементов с функцией
Разница между рекурсивной функцией и обычной C++
Программа с рекурсивной функцией C++
C++ Разобраться с рекурсивной функцией обхода бинарного дерева
Создать программу с рекурсивной функцией, которая будет вычислять делится ли число на 11 или нет C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vasiliusis
40 / 40 / 1
Регистрация: 14.10.2008
Сообщений: 131
06.11.2008, 18:18     Рекурсия,заполнение массива рекурсивной функцией. #2
Попробую в вызове функции поменять n-- на --n. У меня у самого такая же вещь была.
Xentar
Of Wolf and Man
993 / 188 / 4
Регистрация: 09.07.2008
Сообщений: 1,885
06.11.2008, 18:31     Рекурсия,заполнение массива рекурсивной функцией. #3
Да в этом случае надо использовать префиксный декримент.
В случае использования постфиксного, насколько я знаю, уменьшение переменной производится после вызова функции, что для нас неприемлемо.

Добавлено через 5 минут 7 секунд
И еще вопрос ? после выполнения оператора return в С++ завершается выполнение функции ???
или просто происходит присвоение значения переменной функции ?
если не завершается, то поставь какое нибудь условие перед return rec(n--,a);
иначе это будет бесконечный цикл.
Vasiliusis
40 / 40 / 1
Регистрация: 14.10.2008
Сообщений: 131
06.11.2008, 18:44     Рекурсия,заполнение массива рекурсивной функцией. #4
Gene4ka, рассматривайте рекурсию как цикл. Так намного проще. Рекурсию не надо бояться - с ней нада дружить.
Xentar
Of Wolf and Man
993 / 188 / 4
Регистрация: 09.07.2008
Сообщений: 1,885
06.11.2008, 18:59     Рекурсия,заполнение массива рекурсивной функцией. #5
Цитата Сообщение от Vasiliusis Посмотреть сообщение
Gene4ka, рассматривайте рекурсию как цикл. Так намного проще. Рекурсию не надо бояться - с ней нада дружить.
Ну не всегда она будет циклом. Но в этом случае это так.
Gene4ka
Сообщений: n/a
06.11.2008, 23:24     Рекурсия,заполнение массива рекурсивной функцией. #6
Цикл работает, но выводит адреса какие то!!!
пробовала написать rek(n--,a[n]);
но выдает ошибку что в параметрах rek(int n, int *a) не указаны [];

Помогите мне пожалуйста!!! у меня нет столько времени думать!!! ((((((((((((((((((((((((((((((((((((((((
Yandex
Объявления
06.11.2008, 23:24     Рекурсия,заполнение массива рекурсивной функцией.
Ответ Создать тему
Опции темы

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