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

Рекурсия - C++

Восстановить пароль Регистрация
 
Shato
2 / 2 / 0
Регистрация: 16.03.2011
Сообщений: 82
19.03.2011, 13:51     Рекурсия #1
Разработать рекурсивную функцию не возврашающую значений:
Дано натуральное четное число n. Разработать функцию для вывода на экран следующей картинки:

********* (0 пробелов, n звездочек)
******** (1 пробел, n-1 звездочка)
******* (2 пробела, n-2 звездочки)
...
* (n-1 пробел, 1 звездочка )
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2011, 13:51     Рекурсия
Посмотрите здесь:

Рекурсия C++
C++ рекурсия
Рекурсия C++
Рекурсия C++
Рекурсия C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
19.03.2011, 14:17     Рекурсия #2
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
30
#include <iostream>
 
void triangle(size_t);
void triangle_helper(size_t, size_t);
 
void triangle(size_t n)
{
    triangle_helper(n, 0);
}
 
void triangle_helper(size_t n, size_t step)
{
    for (size_t i = 0; i < step; ++i)
        std::cout << ' ';
 
    for (size_t i = 0; i < n; ++i)
        std::cout << '*';
 
    std::cout << std::endl;
 
    if (n > 1)
        triangle_helper(n - 1, step + 1);
}
 
int main()
{
    triangle(5);
 
    return 0;
}
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
19.03.2011, 14:33     Рекурсия #3
silent_1991, а в чем тайный смысл ф-ции void triangle(size_t);, если она ни чего не возвращает, а просто вызывает triangle_helper(n, 0) ? А то я что-то догнать не могу...
Shato
2 / 2 / 0
Регистрация: 16.03.2011
Сообщений: 82
19.03.2011, 14:45  [ТС]     Рекурсия #4
Цитата Сообщение от Kastaneda Посмотреть сообщение
silent_1991, а в чем тайный смысл ф-ции void triangle(size_t);, если она ни чего не возвращает, а просто вызывает triangle_helper(n, 0) ? А то я что-то догнать не могу...
Я так подозреваю, чтобы выводить сам треугольник на экран
slice
32 / 75 / 4
Регистрация: 04.11.2010
Сообщений: 249
19.03.2011, 14:45     Рекурсия #5
Kastaneda, тебе о чем-нибудь говорит такое понятие как удобство интерфейсов?
Kastaneda
19.03.2011, 14:48
  #6

Не по теме:

Цитата Сообщение от slice Посмотреть сообщение
Kastaneda, тебе о чем-нибудь говорит такое понятие как удобство интерфейсов?
Да, после написания поста уже дошло, просто я так ни когда еще не делал, поэтому как то "глаза режет" ))

silent_1991
19.03.2011, 15:17
  #7

Не по теме:

Kastaneda, тебе глаза режет, а пользователь, который будет использовать какую-нибудь библиотеку и не будет видеть исходный код функции triangle и вообще знать о существовании triangle_helper, а будет только знать, что есть функция triangle, которой надо передать длину катета и наслаждаться, спасибо скажет девелоперам за то, что его не заставляют каждый раз этой функции таинственный нулик передавать.)))

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2011, 16:52     Рекурсия
Еще ссылки по теме:

Рекурсия C++
C++ Рекурсия
C++ Рекурсия

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

Или воспользуйтесь поиском по форуму:
Kastaneda
19.03.2011, 16:52     Рекурсия
  #8

Не по теме:

silent_1991, да понял я, понял

Yandex
Объявления
19.03.2011, 16:52     Рекурсия
Ответ Создать тему
Опции темы

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