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

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

Войти
Регистрация
Восстановить пароль
 
Miwa123
37 / 37 / 1
Регистрация: 16.04.2013
Сообщений: 317
Записей в блоге: 1
#1

Рекурсия с указателем на массив - C++

22.05.2013, 18:22. Просмотров 381. Ответов 3
Метки нет (Все метки)

с мэйна вызываю функцию в которую передаю ссылку посредством указателя на массив. потом делаю рекурсию в самой вызыванной функции:
C++
1
2
3
4
int summ(int *arr, int i,int N)
{
        return summ(arr,i++,N);
}
как мне обратно передавать туда не указатель а сам массив. а то первый аргумент получается **,*** и так далее
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2013, 18:22     Рекурсия с указателем на массив
Посмотрите здесь:

Работа с указателем на массив в функции (!!!) C++
C++ Калькулятор с указателем
есть часть кода с указателем на массив. в общем, объяснять не умею. в коде вы уж точно поймете C++
Исключение при работе с указателем на двухмерный массив C++
Как передать массив в массив с указателем C++
Как сделать ассоциативный массив с указателем на структуру? C++
Двумерный массив с указателем (Преобразовать матрицу по правилу) C++
C++ Работа с указателем на двумерный массив
C++ Массив в функции со static указателем на него
C++ С первым указателем пройти массив с начала, со вторым - с конца
Матрица как одномерный массив с указателем C++
Двумерный массив с ключом и указателем на функцию C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
WolondeWord
6 / 6 / 1
Регистрация: 06.05.2013
Сообщений: 18
22.05.2013, 18:33     Рекурсия с указателем на массив #2
"int summ(int *arr, int i,int N)"
передавай "int *&arr"
Miwa123
37 / 37 / 1
Регистрация: 16.04.2013
Сообщений: 317
Записей в блоге: 1
22.05.2013, 18:49  [ТС]     Рекурсия с указателем на массив #3
Цитата Сообщение от WolondeWord Посмотреть сообщение
"int summ(int *arr, int i,int N)"
передавай "int *&arr"
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
int summ(int *arr, int i,int N);
int main(void)
{
const int N=3;
int arr[N];
for(int i=0;i<N;i++)
{
    cout<<"array["<<i<<"]: ";
    cin>> arr[i];
}
summ(arr,0,N);
system("pause");
return 0;
}
int summ(int *arr, int i,int N)
{
    while(i<N)
    return summ(*&arr,i++,N);
}
не выходи.. кто в силах объяснить почему ошибка и как избежать?
WolondeWord
6 / 6 / 1
Регистрация: 06.05.2013
Сообщений: 18
23.05.2013, 02:13     Рекурсия с указателем на массив #4
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
#include <iostream>
using namespace std;
int summ(int *arr, int &i,int N);
int main(void)
{
    const int N=3;
 
    int *arr;
    arr = new int [N]; //Динамический массив. Мне с ними удобнее работать)
 
    for(int i=0;i<N;i++)
    {
        cout<<"array["<<i<<"]: ";
        cin>> arr[i];
    }
 
    int t = 0; // создал счетчик
 
    summ(arr,t,N);
    cout << "t = " << t << endl; // вывод t на экран.
    system("pause");
    return 0;
}
 
int summ(int *arr, int &i,int N) // тут передаем формальный параметр i по ссылке, так как он изменяется в ходе выполнения функции.
{
    while(i<N)
        return summ(arr,i += 1,N); // здесь именно так для собственного удобства
}
Добавлено через 4 минуты
Извиняюсь, что вчера вышел. Просто у меня уже ночь была)) 3 утра. Спать хотелось)
Yandex
Объявления
23.05.2013, 02:13     Рекурсия с указателем на массив
Ответ Создать тему
Опции темы

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