Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
38 / 38 / 22
Регистрация: 16.04.2013
Сообщений: 327
Записей в блоге: 1
1

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

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

Author24 — интернет-сервис помощи студентам
с мэйна вызываю функцию в которую передаю ссылку посредством указателя на массив. потом делаю рекурсию в самой вызыванной функции:
C++
1
2
3
4
int summ(int *arr, int i,int N)
{
        return summ(arr,i++,N);
}
как мне обратно передавать туда не указатель а сам массив. а то первый аргумент получается **,*** и так далее
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.05.2013, 18:22
Ответы с готовыми решениями:

В чем разница между указателем и указателем на указатель?
int x, *p, *q; x=10; p=&x; q=p; cout<<*q; int x, *p, **q; x=10; p=&x; q=&p;

Как передать массив в массив с указателем
Как передать массив в массив с указателем тоесть например массив double c в массив **а в этой...

Массив с указателем
при формировании выходной строки каждый символ должен дублироваться. Например дана abc, а при...

Работа с указателем на двумерный массив
Добрый день. Изучая тему указатели, столкнулся с проблемой - никак не могу понять как работать с...

3
8 / 8 / 2
Регистрация: 06.05.2013
Сообщений: 18
22.05.2013, 18:33 2
"int summ(int *arr, int i,int N)"
передавай "int *&arr"
0
38 / 38 / 22
Регистрация: 16.04.2013
Сообщений: 327
Записей в блоге: 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);
}
не выходи.. кто в силах объяснить почему ошибка и как избежать?
0
8 / 8 / 2
Регистрация: 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 утра. Спать хотелось)
0
23.05.2013, 02:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.05.2013, 02:13
Помогаю со студенческими работами здесь

Работа с указателем на массив в функции (!!!)
Я написал программу по сортировке строк из файла, который на жёстком, прога отлично работает, может...

Матрица как одномерный массив с указателем
Ребят, помогите пожалуйста, нужно создать динамическую матрицу, но без указателя на указатель,...

Массив в функции со static указателем на него
Здрасти, делаю задание на указатели из книги Хортона по Вижуал С++. Задачка: передать в функцию...

Двумерный массив с ключом и указателем на функцию
Здравствуйте. Подскажите, пожалуйста, как реализовать двумерный массив с ключом и указателем на...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru