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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 35, средняя оценка - 4.66
Каныч***
-62 / 2 / 0
Регистрация: 24.10.2011
Сообщений: 39
#1

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

03.04.2012, 13:19. Просмотров 4998. Ответов 10
Метки нет (Все метки)

С помощью рекурсивной функции осуществить вывод на экран элементов одномерного массива
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.04.2012, 13:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос С помощью рекурсивной функции осуществить вывод на экран элементов одномерного массива (C++):

С помощью рекурсивной функции вычислить сумму элементов одномерного массива - C++
С помощью рекурсивной функции вычислить сумму элементов одномерного массива,помогите пожалуйста!Просьба не мудрить и написать как можно...

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

Найти минимум элементов массива с помощью рекурсивной функции min1(k) - C++
Есть небольшая задача: Дан массив целых чисел. Найти минимум его элементов с помощью рекурсивной функции min1(k), возвращающей минимум...

Найти произведение всех элементов массива с помощью рекурсивной функции - C++
помогите пожалуйста, необходимо найти произведение всех элементов массива с помощью рекурсивной функции вот мой код программы, но она не...

Вывод на экран количества нулевых элементов одномерного динамического массива и их порядковых номеров - C++
Помогите решить задачу! Разработать метод для вывода на экран количества нулевых элементов одномерного динамического массива и их...

Вывод на экран значений элементов типа int из одномерного массива любой длины - C++
Написать функцию print_arr, которая предназначена для вывода на экран значений элементов типа int из одномерного массивов любой длины....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 1
03.04.2012, 14:03 #2
C++
1
2
3
4
void print(int* arr, int N){
   cout<<(*arr)<<" ";
   if(N>0) print(arr+1, N-1);
}
или
C++
1
2
3
4
5
6
7
8
9
void print(int*arr, int l, int r){
 if(l==r){
    cout<<arr[l]<<" ";
 }
 else{
   print(arr, l, (l+r)/2);
   print(arr, (l+r)/2+1, r);
 }
}
1
Каныч***
-62 / 2 / 0
Регистрация: 24.10.2011
Сообщений: 39
03.04.2012, 14:14  [ТС] #3
извините, а можете полностью как решать показать??нууу, полностью решение скинуть?
0
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
03.04.2012, 14:18 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
void print(int *arr, int size)
{
    if(size)
    {
        std::cout<<*arr<<" ";
        print(++arr, --size);
    }
}
 
int main()
{
    int arr[] = {1, 2, 3, 4, 5};
    print(arr, 5);
    return 0;
}
2
easybudda
Модератор
Эксперт CЭксперт С++
9622 / 5570 / 946
Регистрация: 25.07.2009
Сообщений: 10,695
03.04.2012, 14:34 #5
Kuzia domovenok, первая в лучшем случае выведет после массива какую-нибудь ересь, в худшем грохнется с ошибкой.
0
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 1
03.04.2012, 17:30 #6
Цитата Сообщение от easybudda Посмотреть сообщение
Kuzia domovenok, первая в лучшем случае выведет после массива какую-нибудь ересь, в худшем грохнется с ошибкой.
Что значит "после массива"? никто не просил делать защиту от дурака.
0
Nameless One
Эксперт С++
5773 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
03.04.2012, 17:44 #7
Kuzia domovenok, тут не «защита от дурака», а функция неправильная. Посмотри, как будет выполняться функция, если N=0
0
easybudda
Модератор
Эксперт CЭксперт С++
9622 / 5570 / 946
Регистрация: 25.07.2009
Сообщений: 10,695
03.04.2012, 17:45 #8
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Что значит "после массива"? никто не просил делать защиту от дурака.
Да ни о какой "защите" и речи не идёт. Банальный выход за границу массива.
С помощью рекурсивной функции осуществить вывод на экран элементов одномерного массива
0
Nameless One
03.04.2012, 17:47
  #9

Не по теме:

Цитата Сообщение от easybudda Посмотреть сообщение
в худшем грохнется с ошибкой
есть мнение, что это не худший случай, а наоборот.

0
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 1
03.04.2012, 18:20 #10
а разве массивы в С не от нуля нумеруются? зачем же писать print(3), если знаешь, что элемента a[3] нет?
0
Nameless One
Эксперт С++
5773 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
03.04.2012, 18:23 #11
Kuzia domovenok, обычно с массивом передается не индекс последнего элемента, а его размер. По-хорошему, твой массив должен работать с вырожденным случаем, т.е. когда размер массива равен нулю (т.е. массив пуст)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.04.2012, 18:23
Привет! Вот еще темы с ответами:

Осуществить циклический сдвиг элементов одномерного массива на k позиций - C++
работает правильно только если k=1 если больше то сдвиг делает правильно, но когда на место их переносит числа путает их, что не так? ...

Каким образом лучше осуществить вывод массива с помощью графики? - C++
Добрый день! Имеется массив размера примерно 1000 на 500. Некоторые ячейки закрашенные, некоторые нет. Каким образом лучше осуществить...

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

Вывести значения всех элементов одномерного массива с помощью указателей - C++
Вывести значения всех элементов одномерного массива с помощью указателей, * в диапазоне от 0 до 9, при этом вместо каждого элемента со...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
03.04.2012, 18:23
Ответ Создать тему
Опции темы

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