Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/37: Рейтинг темы: голосов - 37, средняя оценка - 4.86
Каныч***
1 / 2 / 0
Регистрация: 24.10.2011
Сообщений: 39
1

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

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

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

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

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

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

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

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

10
Kuzia domovenok
2832 / 2419 / 619
Регистрация: 25.03.2012
Сообщений: 8,621
Записей в блоге: 1
Завершенные тесты: 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
Каныч***
1 / 2 / 0
Регистрация: 24.10.2011
Сообщений: 39
03.04.2012, 14:14  [ТС] 3
извините, а можете полностью как решать показать??нууу, полностью решение скинуть?
0
Dekio
Фрилансер
Эксперт С++
5839 / 1220 / 499
Регистрация: 23.11.2010
Сообщений: 3,377
Записей в блоге: 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
03.04.2012, 14:18
easybudda
Модератор
Эксперт JavaЭксперт CЭксперт С++
10576 / 6283 / 1574
Регистрация: 25.07.2009
Сообщений: 11,973
03.04.2012, 14:34 5
Kuzia domovenok, первая в лучшем случае выведет после массива какую-нибудь ересь, в худшем грохнется с ошибкой.
0
Kuzia domovenok
2832 / 2419 / 619
Регистрация: 25.03.2012
Сообщений: 8,621
Записей в блоге: 1
Завершенные тесты: 1
03.04.2012, 17:30 6
Цитата Сообщение от easybudda Посмотреть сообщение
Kuzia domovenok, первая в лучшем случае выведет после массива какую-нибудь ересь, в худшем грохнется с ошибкой.
Что значит "после массива"? никто не просил делать защиту от дурака.
0
Nameless One
Эксперт С++
5798 / 3448 / 356
Регистрация: 08.02.2010
Сообщений: 7,448
03.04.2012, 17:44 7
Kuzia domovenok, тут не «защита от дурака», а функция неправильная. Посмотри, как будет выполняться функция, если N=0
0
easybudda
Модератор
Эксперт JavaЭксперт CЭксперт С++
10576 / 6283 / 1574
Регистрация: 25.07.2009
Сообщений: 11,973
03.04.2012, 17:45 8
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Что значит "после массива"? никто не просил делать защиту от дурака.
Да ни о какой "защите" и речи не идёт. Банальный выход за границу массива.
С помощью рекурсивной функции осуществить вывод на экран элементов одномерного массива
0
Nameless One
03.04.2012, 17:47
  #9

Не по теме:

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

0
Kuzia domovenok
2832 / 2419 / 619
Регистрация: 25.03.2012
Сообщений: 8,621
Записей в блоге: 1
Завершенные тесты: 1
03.04.2012, 18:20 10
а разве массивы в С не от нуля нумеруются? зачем же писать print(3), если знаешь, что элемента a[3] нет?
0
Nameless One
Эксперт С++
5798 / 3448 / 356
Регистрация: 08.02.2010
Сообщений: 7,448
03.04.2012, 18:23 11
Kuzia domovenok, обычно с массивом передается не индекс последнего элемента, а его размер. По-хорошему, твой массив должен работать с вырожденным случаем, т.е. когда размер массива равен нулю (т.е. массив пуст)
0
03.04.2012, 18:23
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.04.2012, 18:23

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

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

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


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

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

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