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

Рисование ромба (рекурсия) - C++

Восстановить пароль Регистрация
 
Rabbit
0 / 0 / 0
Регистрация: 05.09.2015
Сообщений: 43
10.09.2015, 17:51     Рисование ромба (рекурсия) #1
Подскажите пжл как это можно написать рекурсией.

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
31
32
33
34
35
36
37
38
#include <iostream>
 
using namespace std;
 
 
int main ()
{
 
    int numofrow=4;
 
    for(int row =1;row<=numofrow;row++)
    {
        for(int colspace = numofrow-row; colspace>=1;colspace--)
        {
            cout<<" ";
        }
        for(int colstar=1; colstar<=2*row-1;colstar++)
        {
            cout <<"*";
        }
        cout<<endl;
    }
 
        for(int row=numofrow-1;row>=1;row--)
        {
            for(int colspace=1;colspace<=numofrow-row;colspace++){
 
            cout<<" ";
        }
        for(int colstar=1;colstar<=2*row-1;colstar++)
        {
            cout<<"*";
        }
        cout<<endl;
 
        }
    return 0;
}
Код
   *
  * *
 * * *
* * * *
 * * *
  * *
   *
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.09.2015, 17:51     Рисование ромба (рекурсия)
Посмотрите здесь:

рисование ромба C++
C++ Рисование ромба.
Даны две диагонали ромба. Вычислить площадь и периметр этого ромба C++
Даны две диагонали ромба. Вычислить площадь и периметр этого ромба C++
C++ найти площадь ромба
C++ Рисование ромба за заданной высотой
Графика, перемещение ромба C++
C++ Наследование ромба от квадрата

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11811 / 6790 / 767
Регистрация: 27.09.2012
Сообщений: 16,840
Записей в блоге: 2
Завершенные тесты: 1
11.09.2015, 01:03     Рисование ромба (рекурсия) #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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <iostream>
#include <iomanip>
 
 
//implementation function
namespace
{
 
 
    void out_line ( unsigned int count , unsigned int max_count )
    {
        std::cout
            << std::setw( max_count - count ) << std::setfill ( ' ' ) << "" ;
        for ( unsigned int i = 0 ; i < count ; ++i )
            std::cout << "* " ;
        std::cout << std::endl ;
    }
 
 
 
    void out_stars_impl ( unsigned int count , unsigned int max_count )
    {
        out_line ( count , max_count ) ;
        if ( count != max_count )
        {
            out_stars_impl ( count + 1 , max_count ) ;
            out_line ( count , max_count ) ;
        }
    }
 
 
}
 
 
//interface function
void out_stars ( unsigned int max_stars )
{
    if ( max_stars != 0 )
        out_stars_impl ( 0 , max_stars ) ;
}
 
 
 
int main()
{
    out_stars ( 10 ) ;
}
Добавлено через 5 минут
http://rextester.com/LTA46019
Yandex
Объявления
11.09.2015, 01:03     Рисование ромба (рекурсия)
Ответ Создать тему
Опции темы

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