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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.76
Вольдемар777
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 7
#1

Вывести на экран геометрическую фигуру, заполняя ее символом * - C++

19.02.2013, 21:09. Просмотров 3011. Ответов 20
Метки нет (Все метки)

помогите, пожалуйста. Разработать программу, которая выводит на экран геометрическую фигуру, заполняя ее символом *. размер фигуры определяется при вводе. Заполненный равнобедренный треугольник. Основание - n, высота n/2+1 (n-нечетное) Треугольник этот повернут высотой вниз, то есть перевернут. Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2013, 21:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывести на экран геометрическую фигуру, заполняя ее символом * (C++):

Программа которая выводит на экран геометрическую фигуру - C++
Разработать программу, которая выводит на экран геометрическую фигуру, заполняя ее символом ‘*’ или пробелом. Размер фигуры (n)...

Программа которая выводит на экран геометрическую фигуру(исправить) - C++
Разработать программу, которая выводит на экран геометрическую фигуру, заполняя ее символом ‘*’ или пробелом. Размер фигуры (n)...

Программа которая выводит на экран геометрическую фигуру(исправить) - C++
Мне нужно чтобы треугольник был пустым,т.е звездочками должна быть нарисована граница #include <stdio.h> int main( ) { ...

С помощью цикла for вычислить и вывести на экран геометрическую прогрессию 1, 2, 4, 8, 16, 32 - C++
Доброго времени суток! Помогите решить задачу плз) напишите программу которая с помощью цикла for вычисляет и выводит на экран...

Нарисовать любую геометрическую фигуру - C++
Здравствуйте! Помогите пожалуйста, как использовать в Turbo C графику с помощью библиотеки #include <graphics.h>? Хотя-бы вывести что...

В консоли нарисовать геометрическую фигуру - C++
Разработать программу, которая выводит на экран геометрическую фигуру, заполняя ее символом ‘*’ или пробелом. Размер фигуры (n)...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Вольдемар777
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 7
22.02.2013, 00:17  [ТС] #16
Спасибо, все заработало!
aned
2 / 1 / 0
Регистрация: 27.07.2013
Сообщений: 22
27.07.2013, 16:49 #17
так можно получить нормальную пирамиду:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
 
int main() {
    int result;
    string a[5]={"    *     ","   ***   ", "  *****  "," ******* ","*********"};
 
    cout<<"";
    cin >> result;
    cout << "\n";
    
    for (int i = 0; i <result; i++)
    {
        cout<<a[i];
        cout<<endl;
    }
    _getch();
    return 0;
}
Даниил
67 / 40 / 7
Регистрация: 14.05.2013
Сообщений: 383
28.07.2013, 12:20 #18
Цитата Сообщение от aned Посмотреть сообщение
так можно получить нормальную пирамиду:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
 
int main() {
    int result;
    string a[5]={"    *     ","   ***   ", "  *****  "," ******* ","*********"};
 
    cout<<"";
    cin >> result;
    cout << "\n";
    
    for (int i = 0; i <result; i++)
    {
        cout<<a[i];
        cout<<endl;
    }
    _getch();
    return 0;
}
Ерунда (извиняюсь), я когда ввёл здесь число больше 5 то началось...
Скрин
Сорри, я просто не умею картинки сюда заливать
Да и если ввести число меньше (или равно) 5 то будет половина пирамиды только
aned
2 / 1 / 0
Регистрация: 27.07.2013
Сообщений: 22
28.07.2013, 12:56 #19
тогда так:


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
#include <iostream>
 
using namespace std;
 
int main(){
    setlocale(0,"");
 
    int size = 0;
    int h;
 
    cout << "Введите длину основания " << endl;
    cin >> size;
 
    h = size/2 + 1;
 
    for(int i = 0; i < h; i++)
    {
 
        int j=0;
        int k;
 
        for(k = 0; k <= size ; k++)
            if (  k >=(h + i))
                cout << ' ';
 
        for(int j = 0; j <= size;j++)
            if( j>(h - i) && j <(h + i))
                cout << 'x';
 
        cout<<endl;
    }
    char r;
 
    cout<<"Продолжить (y/n) ? ";
    cin>>r;
 
    if (r=='y')
    {
        return main();
 
    } 
    else if(r=='n')
    {
        exit(0);
    }
    else
    {
        cout<<"Ошибка!";
 
    }
 
    cout<<endl;
    system("pause");
    return 0;
}
Добавлено через 24 минуты
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
#include <iostream>
 
using namespace std;
 
int main(){
    setlocale(0,"");
 
    int size = 0;
    int h;
 
    cout << "Введите длину основания " << endl;
    cin >> size;
 
    h = size/2 ;
 
    for(int i = 0; i <= (h+1); i++)
    {
 
        int j=0;
        int k;
 
        for(k = 0; k <= size ; k++)
            if (  k >=(h + i))
                cout << ' ';
 
        for(int j = 0; j <= size;j++)
            if( j>(h - i) && j <(h + i))
                cout << 'x';
 
        cout<<endl;
    }
    char r;
 
    cout<<"Продолжить (y/n) ? ";
    cin>>r;
 
    if (r=='y')
    {
        return main();
 
    } 
    else if(r=='n')
    {
        exit(0);
    }
    else
    {
        cout<<"Ошибка!";
 
    }
 
    cout<<endl;
    system("pause");
    return 0;
}

Есть правда некоторая ошибка при четных значениях основания,но в основном-верно.А улучшать лень.
Даниил
67 / 40 / 7
Регистрация: 14.05.2013
Сообщений: 383
28.07.2013, 13:17 #20
aned, Вот это правильно, молодец, лови +
Георгий Фирсов
5 / 5 / 0
Регистрация: 05.11.2012
Сообщений: 62
10.10.2013, 14:17 #21
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
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "russian");
    int n;
    cin >> n;
    int k = n*2 - 1;
    for(int i=n-1; i>=0; i--)
    {
        for(int j=1; j<=k; j++)
        {
            if((j<=i)||(j>(k-i)))
                cout << " ";
            else
                cout << "*";
        }
        cout << endl;
    }
    cout << "\n\nНажмите любую кнопку для выхода (используется _getch())\n";
    _getch();
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2013, 14:17
Привет! Вот еще темы с ответами:

Вывести на экран фигуру из * - C++
Нужно нарисовать на экране вот такую фигуру (как на скриншоте). Нужно использовать for и if_else. Вот пример (шахматная доска): ...

Вывести на экран фигуру из символов - C++
День добрый! Помогите, пожалуйста, вывести формулу. Суть задачи такова: с помощью вложенной конструкции нужно вывести на экран косой крест,...

По заданным целочисленным координатам на плоскости определить какую геометрическую фигуру они образуют - C++
По заданным целочисленным координатам четырех точек на плоскости определить , какую геометрическую фигуру они образуют , если их соединить...

Вывести фигуру в трехмерном массиве на экран - C++
Программа должна демонстрировать работу с классом объявленным и определённым, класс применяется для работы с трёхмерным массивом . Он...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
10.10.2013, 14:17
Ответ Создать тему
Опции темы

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