Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
Glitch
9 / 9 / 5
Регистрация: 28.09.2015
Сообщений: 139
1

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

25.09.2016, 16:59. Просмотров 1334. Ответов 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)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2016, 16:59
Ответы с готовыми решениями:

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

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

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

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

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

3
_Ivana
3233 / 1861 / 234
Регистрация: 01.03.2013
Сообщений: 5,091
Записей в блоге: 5
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
Hikari
Хитрая блондиночка $)
1451 / 963 / 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
Glitch
9 / 9 / 5
Регистрация: 28.09.2015
Сообщений: 139
25.09.2016, 17:44  [ТС] 4
Hikari, что-то совсем не то

Добавлено через 19 секунд
_Ivana, работает, спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2016, 17:44

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

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

Нарисовать треугольник звездочками
1) Write a program that prints the screen below. Conditions: Only use one...


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

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

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