Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Заполнение массива рекурсивной функцией - C++

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

привет! рекурсия....это хуже всего!!! ((
А рекурсивная функция, которая заполняет массив целых чисел значениями, вводимыми пользователем, в обратном порядке...это еще хуже!!!
Коротко:
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
#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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2008, 23:26
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Заполнение массива рекурсивной функцией (C++):

Заполнение массива с клавы, и подсчет суммы элементов с функцией - C++
#include &lt;iostream&gt; using namespace std; int sum(int arr , int size) { int rezult = 0; for (int i = 0; i &lt; size; i++) ...

Программа с рекурсивной функцией - C++
Друзья, помогите пожалуйста написать вот такую программу в Dev с++ Сколькими способами можно отобрать команду в составе 5 человек из 8...

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

Написать программу с рекурсивной функцией - C++
Написать программу с рекурсивной функцией, вычисляющей: http://i065.***********/1212/09/1befc1906d10.png Добавлено через 14 часов 36...

Создать структуру с рекурсивной функцией - C++
Создать структуру в которой ввод и вывод информации будет осуществлятся с помощью рекурсивной функции

Нужно количество цифр с рекурсивной функцией - C++
Не могу найти ошибку. Надо найти кол-во цифр введённого числа с помощью рекурсивной функции. #include &lt;iostream&gt; using namespace...

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

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

Помогите мне пожалуйста!!! у меня нет столько времени думать!!! ((((((((((((((((((((((((((((((((((((((((
0
06.11.2008, 23:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.11.2008, 23:24
Привет! Вот еще темы с ответами:

Разница между рекурсивной функцией и обычной - C++
Как можно посчитать разницу между рекурсивной функцией и обычной? Там как то можно время работы функций высчитывать, как это сделать? Какие...

Написать программу с рекурсивной функцией вычисляющий выражение - C++
Написать программу с рекурсивной функцией, вычисляющей: s=cos(1+sin(2+cos(3+sin(4+cos(5+…)…)), используется n вложений.

Разобраться с рекурсивной функцией обхода бинарного дерева - C++
Люди, помогите разобраться с рекурсивной функцией обхода бинарного дерева. Бьюсь головой об стену, не могу понять как она работает. ...

Программа с рекурсивной функцией (расставляет между заданными шестью цифрами знаки операций) - C++
Написать программу с рекурсивной функцией, которая расставляет между заданными шестью цифрами знаки операций: сложения, вычитания,...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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