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

Графика в консоле. Треугольники разные, ромб, песочные часы, елочка, домик - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.65
vcyberf
0 / 0 / 0
Регистрация: 15.01.2014
Сообщений: 5
16.01.2014, 01:02     Графика в консоле. Треугольники разные, ромб, песочные часы, елочка, домик #1
Всем привет
Рисунки в консоле на с/с++:
1. Треугольники прямоугольные 4 вида, (пустые и заполненные *)
2. Треугольники равнобедренные 2 вида (пустые и заполненные *)
3. Ромб (пустой и заполненный *)
4. Песочные часы (пустые и заполненные *)
5. Квадрат (пустой и заполненный *)
6. Квадрат в квадрате.
7. Домик.
8. Елочка.
9. Елочка упала.

1. Треугольники прямоугольные 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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#include <iostream>
using namespace std;
 
void main()
{
    cout << "Triangles empty and full! \n"; 
 
    int a;
    cout << "\nEnter cathetus of triangle: ";
    cin >> a;
 
    for (int y = 1; y <= a; y++)// treugolinik 1 pustoi
    {
        for (int x = 1; x <= a; x++)
        {
            if (x == 1 || y == a || x == y)
                cout << "*";
            else
                cout << " ";
        }
        cout << endl;
    }
    cout << endl;
 
    for (int y = 1; y <= a; y++)// treugolinik 1 zapolnennii
    {
        for (int x = 1; x <= y; x++)
        {
            cout << "*";
        }
        cout << endl;
    }
    cout << endl;
 
    for (int y = 1; y <= a; y++)// treugolinik 2 pustoi
    {
        for (int x = 1; x <= a; x++)
        {
            if (x == a || y == a || y == a - x + 1)
                cout << "*";
            else
                cout << " ";
        }
        cout << endl;
    }
    cout << endl;
 
    for (int y = 1; y <= a; y++)// treugolinik 2 zapolnennii 
    {
        for (int x = 1; x <= a; x++)
        {
            if (y <= a - x)
                cout << " ";
            else
                cout << "*";
        }
        cout << endl;
    }
    cout << endl;
 
    for (int y = 1; y <= a; y++)// treugolinik 3 pustoi
    {
        for (int x = 1; x <= a; x++)
        {
            if (x == 1 || y == 1 || y == a - x + 1)
                cout << "*";
            else
                cout << " ";
        }
        cout << endl;
    }
    cout << endl;
 
    for (int y = 1; y <= a; y++)// treugolinik 3 zapolnennii
    {
        for (int x = 1; x <= a - y + 1; x++)
        {
            cout << "*";
        }
        cout << endl;
    }
    cout << endl;
 
    for (int y = 1; y <= a; y++)// treugolinik 4 pustoi
    {
        for (int x = 1; x <= a; x++)
        {
            if (x == a || y == 1 || x == y)
                cout << "*";
            else
                cout << " ";
        }
        cout << endl;
    }
    cout << endl;
 
    for (int y = 1; y <= a; y++)// treugolinik 4 zapolnennii
    {
        for (int x = 1; x <= a; x++)
        {
            if (x >= y)
                cout << "*";
            else
                cout << " ";
        }
        cout << endl;
    }
}
2. Треугольники равнобедренные 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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <iostream>
using namespace std;
 
void main()
{
    cout << "Equilateral triangle!\n"; 
    int c;
    cout << "\nEnter length of triangle's side: ";
    cin >> c;
    int h = (int)(c * 0.71);//h - visota
    cout << endl;
    for (int y = 1; y <= h; y++)// treugolinik pustoi vershina vverhu
    {
        for (int x = 1; x < h * 2; x++)
        {
            if ( y == h || y == h - x + 1 || x == y + h - 1)
                cout << "*";
            else
                cout << " ";
        }
        cout << endl;
    }
    cout << endl;
 
    for (int y = 1; y <= h; y++) //treugolinik polnii vershina vverhu
    {
        for (int x = 1; x < h * 2; x++)
        {
            if ( y <= h * 2 && y >= h - x + 1 && x <= y + h - 1)
                cout << "*";
            else
                cout << " ";
        }
        cout << endl;
    }
    cout << endl;
 
    for (int y = 1; y <= h; y++)// treugolinik pustoi vershina vnizu
    {
        for (int x = 1; x < h * 2; x++)
        {
            if ( x == y || x == 2 * h - y  || y == 1)
                cout << "*";
            else
                cout << " ";
        }
        cout << endl;
    }
    cout << endl;
 
    for (int y = 1; y <= h; y++)// treugolinik polnii vershina vnizu
    {
        for (int x = 1; x < h * 2; x++)
        {
            if ( x >= y && x <= 2 * h - y ) // только 2 уравнения, так как верхняя линяя ограничена канвассом
                cout << "*";
            else
                cout << " ";
        }
        cout << endl;
    }
    cout << endl;
}

3. Ромб (пустой и заполненный *)

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
48
49
50
#include <iostream>
using namespace std;
 
void main ()
{
    cout << "\nRhombus!\n";
    int x, y, a;
    cout << "\nEnter a width of rhombus: ";
    cin >> a;
    if (a % 2 == 1)//preobrazovanie necetnogo cisla v cetnoe
    {
        a--;
    }
    cout << "\nRhombus empty!\n\n";
    for (y = 0; y <= a; y++)
    {       
        for (x = 0; x <= a; x++)
        {
            if ((y == -x + a / 2) || (y == -x  + (3 * a / 2)) || (y == x + a / 2) || (y == x - a / 2))
            {
                cout << "*";
            }
            else
            {
                cout << " ";
            }
        }
        cout << endl;
    }
    cout << endl;
 
    cout<< "\nRhombus full!\n\n";
 
    for (y = 0; y <= a; y++)
    {       
        for (x = 0; x <= a; x++)
        {
            if ((y < -x + a / 2) || (y < x  - a / 2) || (y > x + a / 2) || (y > -x + (3 * a / 2)))
            {
                cout << " ";
            }
            else
            {
                cout << "*";
            }
        }
        cout << endl;
    }
    cout << endl;
}
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <iostream>
using namespace std;
 
void main()
{
    cout << "\n   Hourglass!!!\n\n";
    int x, y, a = 10;
 
    for (y = 0; y <= 10; y++) // hourglass empty
    {
        cout << "   ";
        for (x = 0; x <= 10; x++)
        {
            if (y == 0 || y == a ||  y == (a - x) || x == y)
            {
                cout << "*";
            }
            else
            {
                cout << " ";
            }
        }
        cout << endl;
    }
    cout << endl;
 
    for (y = 0; y <= 10; y++) // hourglass full
    {
        cout << "   ";
        for (x = 0; x <= 10; x++)
        {           
            if (y <= x && (y <= 10 - x) || (y >= 10 - x) && y >= x)
            {
                cout << "*";
            }
            else
            {
                cout << " ";
            }
        }
        cout << endl;
    }
    cout << endl;
}

5. Квадрат (пустой и заполненный *)

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
#include <iostream>
using namespace std;
 
void main()
{
    cout << "Rectangle! \n";
 
    int x, y, a, b;
    cout << "\nEnter height of a rectangle: ";
    cin >> a;
    cout << "\nEnter width of a rectangle: ";
    cin >> b;
    for (y = 1; y <= a; y++) // pustoi preamougolinik
    {
        for (x = 1; x <= b; x++)
        {
            if (y == 1 || y == a || x == 1 || x == b)
                cout << "*";
            else
                cout << " ";
        }
        cout << endl;
    }
    cout << endl;
 
    for (y = 1; y <= a; y++) // zapolnennii preamougolinik
    {
        for (x = 1; x <= b; x++)
        {
            cout << "*";
        }
        cout << endl;
    }
}
6. Квадрат в квадрате.

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
#include <iostream>
using namespace std;
 
void main()
{
    cout << "Draw square in a square! \n";// square in a square on the given parameters.
 
    int x, y, a, b;
    a = 10;
    b = 10;
    for (y = 1; y <= a; y++) 
    {
        for (x = 1; x <= b; x++)
        {
            if ((y == 1 || y == a || x == 1 || x == b)
                || (x >= 4 && x <= 7 && y >= 4 && y <= 7)) 
                cout << "*";
            else
                cout << " ";
        }
        cout << endl;
    }
    cout << endl;
}
7. Домик.

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
#include <iostream>
using namespace std;
 
void main()
{
    cout <<"\nWonderful house!\n\n";
    int a = 16, x, y;
    for (y = 0; y <= 7; y++) //krisha (tut scetcik strok)
    {
        cout << "     "; //sdvig krishi vpravo na 5 probelov
        for (x = 0; x <= 16; x++) //(tut scetcik stolbikov)
        {
            if ((y == a / 2 - x) || (y == x - a / 2)
                || (x==12 && y>=1 && y<= 3)  || (x==14 && y>=1 && y<= 5) || (y == 1 && x ==13))
            {
                cout << "*";
            }
            else
            {
                cout << " ";
            }
        }   
        cout << endl;
    }
 
    for (y = 0; y <= 10; y++) //osnovanie doma
    {
        cout << "     "; //sdvig domika vpravo na 5 probelov
        for (x = 0; x <= 16; x++)
        {
            if (x == 0 || x == 16 || y == 10 || y == 0 || (y == 2 && x >= 5 && x <= 11) 
                || (x == 11 && y>= 2 && y <= 8) ||(x == 5 && y >= 2 && y <= 8) || (y == 8 && x >= 5 && x <= 11)
                || (y == 5 && x >= 5 && x <= 11) || (x == 8 && y >= 2 && y <= 8))
            {
                cout << "*";
            }
            else
            {
                cout << " ";
            }
        }
        cout << endl;
    }
    cout << endl;
}

8. Елочка.

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
#include <iostream>
using namespace std;
 
void main()
{
    cout << "Christmas tree!!\n\n"; 
    int x, y;
 
    for (y = 0; y <= 17; y++)
    {
        cout << "  "; // sdvig elocki vpravo 
        for (x = 0; x <= 14; x++)
        {
            if (((y == -x + 7) && x >= 2 && x <= 7) // line 1
                || ((y == x - 7) && x >= 7 && x <= 12) // line 2
                || ((y == -x + 11) && x >= 1 && x <= 6) // line 5
                || ((y == x - 3) && x >= 8 && x <= 13) // line 6
                || ((y == -x + 15) && x <= 5) // line 9
                || ((y == x + 1) && x >= 9) // line 10
                || (y == 5 && ((x >= 2 && x <= 6) || (x >= 8 && x <= 12)))// line 3 and line 4
                || (y == 10 && ((x >= 1 && x <= 5) || (x >= 9 && x <= 13)))// line 7 and line 8
                || (y == 15 && ((x >= 0 && x <= 5) || (x >= 9 && x <= 14)))// line 11 and line 12
                || (x == 5 && y >= 15) // line 13
                || (x == 9 && y >= 15) // line 14
                || (y == 17 && x >= 5 && x <= 9) // line 15
                )
                cout << "*";
            else
                cout << " ";
        }
        cout << endl; // perevodit kursor na novuiu stroku i prodoljaet risovati
    }
    cout << endl;
}

9. Елочка упала.

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
#include <iostream>
using namespace std;
 
void main()
{
    cout << "Christmas tree!!\n\n"; 
    int x, y;
 
    for (x = 0; x <= 14; x++)
    {
        cout << "  "; // sdvig elocki vpravo 
        for (y = 0; y <= 17; y++)
        {
            if (((y == -x + 7) && x >= 2 && x <= 7) // line 1
                || ((y == x - 7) && x >= 7 && x <= 12) // line 2
                || ((y == -x + 11) && x >= 1 && x <= 6) // line 5
                || ((y == x - 3) && x >= 8 && x <= 13) // line 6
                || ((y == -x + 15) && x <= 5) // line 9
                || ((y == x + 1) && x >= 9) // line 10
                || (y == 5 && ((x >= 2 && x <= 6) || (x >= 8 && x <= 12)))// line 3 and line 4
                || (y == 10 && ((x >= 1 && x <= 5) || (x >= 9 && x <= 13)))// line 7 and line 8
                || (y == 15 && ((x >= 0 && x <= 5) || (x >= 9 && x <= 14)))// line 11 and line 12
                || (x == 5 && y >= 15) // line 13
                || (x == 9 && y >= 15) // line 14
                || (y == 17 && x >= 5 && x <= 9) // line 15
                )
                cout << "*";
            else
                cout << " ";
        }
        cout << endl; // perevodit kursor na novuiu stroku i prodoljaet risovati
    }
    cout << endl;
}
//eto ta je elocika iz predidushei programmi, toliko povernuta na 90 gradusov vlevo.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2014, 01:02     Графика в консоле. Треугольники разные, ромб, песочные часы, елочка, домик
Посмотрите здесь:

C++ Вывести в окне фигуры: домик, человечек, солнце
Елочка из звездочек C++
ромб C++
C++ Как переопределить функцию так, чтобы она не только могла принимать разные параметры, но и возвращать тоже разные?
Изобразить ромб C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
16.01.2014, 10:55     Графика в консоле. Треугольники разные, ромб, песочные часы, елочка, домик #2
И что это за бред ?
Всем привет
Рисунки в консоле на с/с++:
Вы спрашиваете или утверждаете ?
VladislavTepes
16.01.2014, 10:58
  #3

Не по теме:

Хоспаде, да что ж вы все так любите в консолях-то рисовать

SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5547 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
16.01.2014, 11:24     Графика в консоле. Треугольники разные, ромб, песочные часы, елочка, домик #4
Проверил два первых листинга - все работает. Так что, отвечая на вопрос egor2116, данные исходники представлены здесь чтобы похвалиться. vcyberf молодец.
D_bl_M
 Аватар для D_bl_M
25 / 25 / 1
Регистрация: 25.03.2012
Сообщений: 129
16.01.2014, 11:28     Графика в консоле. Треугольники разные, ромб, песочные часы, елочка, домик #5
SatanaXIII, думаю он скорее все собрал в одном месте, т.к. часто проскакивают вопросы с подобными рисунками
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
16.01.2014, 13:14     Графика в консоле. Треугольники разные, ромб, песочные часы, елочка, домик #6
Елочка:
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
#include <iostream>
 
int main()
{
   const char* tree = R"(
       *
      * *
     *   *
    *     *
   *       *
  ***** *****
     *   *
    *     *
   *       *
  *         *
 *****   *****
    *     *
   *       *
  *         *
 *           *
******   ******
     *   *
     *****
   )";
   std::cout << tree << "\n";
   return 0;
}
D_bl_M
 Аватар для D_bl_M
25 / 25 / 1
Регистрация: 25.03.2012
Сообщений: 129
16.01.2014, 13:16     Графика в консоле. Треугольники разные, ромб, песочные часы, елочка, домик #7
Цитата Сообщение от DiffEreD Посмотреть сообщение
Елочка:
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
#include <iostream>
 
int main()
{
   const char* tree = R"(
       *
      * *
     *   *
    *     *
   *       *
  ***** *****
     *   *
    *     *
   *       *
  *         *
 *****   *****
    *     *
   *       *
  *         *
 *           *
******   ******
     *   *
     *****
   )";
   std::cout << tree << "\n";
   return 0;
}

Не по теме:

фууу, без звезды и шаров, и даже не в ведре ))))

DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
16.01.2014, 13:21     Графика в консоле. Треугольники разные, ромб, песочные часы, елочка, домик #8
Еще такая есть, но это не моя:
елочка
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
#include <iostream>
 
int main()
{
    const char* tree = R"(
      *             ,
                       _/^\_
                      <     >
     *                 /.-.\         *
              *        `/&\`                   *
                      ,@.*;@,
                     /_o.I %_\    *
        *           (`'--:o(_@;
                   /`;--.,__ `')             *
                  ;@`o % O,*`'`&\
            *    (`'--)_@ ;o %'()\      *
                 /`;--._`''--._O'@;
                /&*,()~o`;-.,_ `""`)
     *          /`,@ ;+& () o*`;-';\
               (`""--.,_0 +% @' &()\
               /-.,_    ``''--....-'`)  *
          *    /@%;o`:;'--,.__   __.'\
              ;*,&(); @ % &^;~`"`o;@();         *
              /(); o^~; & ().o@*&`;&%O\
        jgs   `"="==""==,,,.,="=="==="`
           __.----.(\-''#####---...___...-----._
         '`         \)_`"""""`
                 .--' ')
               o(  )_-\
                 `"""` `
    )";
    std::cout << tree << "\n";
 
    return 0;
}
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,164
Завершенные тесты: 1
16.01.2014, 13:30     Графика в консоле. Треугольники разные, ромб, песочные часы, елочка, домик #9
У меня откомпилировалось только такое:
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
#include <iostream>
int main()
{
   const char* tree = "\n"
"       *\n"
"      * *\n"
"     *   *\n"
"    *     *\n"
"   *       *\n"
"  ***** *****\n"
"     *   *\n"
"    *     *\n"
"   *       *\n"
"  *         *\n"
" *****   *****\n"
"    *     *\n"
"   *       *\n"
"  *         *\n"
" *           *\n"
"******   ******\n"
"     *   *\n"
"     *****\n";
   std::cout << tree << "\n";
   return 0;
}
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
16.01.2014, 13:33     Графика в консоле. Треугольники разные, ромб, песочные часы, елочка, домик #10
zss, С++11 имеется? http://ideone.com/ZCEfeB
vcyberf
0 / 0 / 0
Регистрация: 15.01.2014
Сообщений: 5
17.01.2014, 17:44  [ТС]     Графика в консоле. Треугольники разные, ромб, песочные часы, елочка, домик #11
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Проверил два первых листинга - все работает. Так что, отвечая на вопрос egor2116, данные исходники представлены здесь чтобы похвалиться. vcyberf молодец.
ни в коем случае, нет никакого хвастовства. просто может на самом деле кому-то пригодится как образец.
egor2116
17.01.2014, 19:36
  #12

Не по теме:

как образец.
ну это вы скромничаете ))

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.07.2016, 23:56     Графика в консоле. Треугольники разные, ромб, песочные часы, елочка, домик
Еще ссылки по теме:

Ромб в С++ с диагональю C++
Заштрихованный домик. Определить, попадает ли в него точка (x, y) C++
C++ Проиграть мелодию «В лесу родилась елочка»

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

Или воспользуйтесь поиском по форуму:
Panterrka
0 / 0 / 0
Регистрация: 09.07.2016
Сообщений: 1
09.07.2016, 23:56     Графика в консоле. Треугольники разные, ромб, песочные часы, елочка, домик #13
Может кому-то еще пригодится)
БАбочка
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
    int a;
    cin>>a;
    for (int i=0;i<=a;i++)
    {
        for (int j=0;j<=a;j++)
        {
            if (((j>=i)&&(j<=a-i))||((j>=a-i)&&(j<=i)))
                cout<<" ";
            else
                cout<<"*";
        }
        cout<<"\n";
    }
}
Yandex
Объявления
09.07.2016, 23:56     Графика в консоле. Треугольники разные, ромб, песочные часы, елочка, домик
Ответ Создать тему
Опции темы

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