10 / 10 / 5
Регистрация: 28.09.2015
Сообщений: 139
1

Нарисовать треугольник в консоли

25.09.2016, 16:59. Показов 12222. Ответов 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
#include <iostream>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "rus");
 
    char ch;
    int height = 0;
    int count = 0;
    bool q = 0;
 
    cout << "Введите символ: ";
    cin >> ch;
    cout << "Введите высоту треугольника: ";
    cin >> height;
    cout << "Заполненный или пустой? (1, 0) ";
    cin >> q;
 
    if (q)
    for (int i = 0; i < height; i++)
    {
        for (int j = 1; j < height - i; j++) cout << ' ';
        for (int j = height - 2 * i; j <= height; j++) cout << ch;
 
        cout << endl;
    }
    else
    {
        for (int i = 0; i < height; i++)
        {
            for (int j = 1; j < height - i; j++) cout << ' ';
            for (int j = height - 2 * i; j <= height; j++)
            {
                if (i == height - 1)
                {
                    for (count = 0; count < i * 2 + 1; count++) cout << ch;
                    break;
                }
                if (j == height - 2 * i || j == height - 1) cout << ch;
                if (j > height - 2 * i || j < height - 1) cout << ' ';              
            }
            cout << endl;
        }
    }
    return 0;
}
Прога дает выбор: нарисовать цельный треугольник, или пустой
Код вроде работает, но хочется сделать его как можно короче...
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.09.2016, 16:59
Ответы с готовыми решениями:

Нарисовать треугольник в консоли с помощью '*'
помогите пожалуйста написать программу в консоли Текст задания положено переписывать в тему!

Вывести в консоли треугольник из звездочек
Нужно написать программу,которая выводит на экран изображение .Программа может использовать только...

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

нарисовать треугольник
#include&lt;iostram&gt; using namespace std; void main(){ int x; cin &gt;&gt;x; if (x %2 ==0) x++; for...

3
4814 / 2275 / 287
Регистрация: 01.03.2013
Сообщений: 5,933
Записей в блоге: 26
25.09.2016, 17:40 2
Лучший ответ Сообщение было отмечено Glitch как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
 
void l(int i, char c) {while (i-->0) cout<<c;}
 
int main() {
    setlocale(LC_ALL, "rus");
    char ch; int height = 0; bool q = 0;
 
    cout << "Введите символ: "; cin >> ch;
    cout << "Введите высоту треугольника: "; cin >> height;
    cout << "Заполненный или пустой? (1, 0) "; cin >> q;
    
    l(height-1, ' '); cout << ch << '\n';
    for (int i = 1; i < height-1; i++) {
        l(height-i-1,  ' '); cout << ch;
        l(2*i-1, q ? ch : ' '); cout << ch << '\n';
    }
    l(2*height-1, ch); cout << '\n';
}
1
Хитрая блондиночка $)
1469 / 984 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
25.09.2016, 17:40 3
Если бы я рисовала именно по такому заданию, как ты поставил, то наверное программа бы выглядела так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
using namespace std;
 
int n=11; 
char c='*' /*Символ бордера*/,f=' ';/*Символ заполнения*/ 
 
int main()
{
   for(int i=0;i<n/2;i++) { cout<<c;
    for(int j=0;j<i;j++)  cout<<f; cout<<c<<endl;
   }
   for(int i=0;i<n/2;i++) { cout<<c;
    for(int j=n/2-i;j>0;j--)  cout<<f; cout<<c<<endl;
   }
   return 0;
}
0
10 / 10 / 5
Регистрация: 28.09.2015
Сообщений: 139
25.09.2016, 17:44  [ТС] 4
Hikari, что-то совсем не то

Добавлено через 19 секунд
_Ivana, работает, спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.09.2016, 17:44
Помогаю со студенческими работами здесь

Нарисовать треугольник
День добрый! Учу по книге. Not student! Тема не раз уже поднималась, но моего варианта не...

Нарисовать треугольник
Помогите!!! Программа должна делать прямоугольный треугольник (ввод катетов с клавиатуры), а она...

Нарисовать треугольник
Добрый день. Помогите с кодом для отрисовки треугольника по введенным координатам (х и у) его...

Нарисовать треугольник
Помогите нарисовать треугольник. Я нарисовал, но надо сделать его наоборот. Он должен смотреть в...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru