Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.94/68: Рейтинг темы: голосов - 68, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 7
1

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

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

Author24 — интернет-сервис помощи студентам
помогите, пожалуйста. Разработать программу, которая выводит на экран геометрическую фигуру, заполняя ее символом *. размер фигуры определяется при вводе. Заполненный равнобедренный треугольник. Основание - n, высота n/2+1 (n-нечетное) Треугольник этот повернут высотой вниз, то есть перевернут. Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.02.2013, 21:09
Ответы с готовыми решениями:

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

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

Вывести на экран монитора геометрическую фигуру
Вывести на экран монитора прямоугольник черного (Black) цвета со сторонами в виде штрихпунктирной...

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

20
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
19.02.2013, 21:47 2
а что не получается?
два цикла один по высоте , второй по длине, высота расчитывается, первая длина известна, каждая последующая -2 от предыдущей, и если не секрет кто вам такое задание дал? и с какой целью
0
0 / 0 / 0
Регистрация: 14.12.2012
Сообщений: 14
19.02.2013, 23:45 3
Держи. Сделал для 5 размеров.
C++ (Qt)
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
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
int main() {
    int result;
    string a="    *     ",b="   ***   ", c="  *****  ",d=" ******* ",e="*********";
    cin >> result;
    cout << "\n";
    switch(result)
    {
    case 1:
        cout << a;
        break;
    case 2: 
        cout << b << "\n" << a;
        break;
    case 3:
        cout << c << "\n" << b << "\n" << a;
        break;
    case 4:
        cout << d << "\n" << c << "\n" << b << "\n" << a;
        break;  
    case 5:
        cout << e << "\n" << d << "\n" << c << "\n" << b << "\n" << a;
        break;    
    }
    getch();
    return 0;
}
0
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 7
19.02.2013, 23:58  [ТС] 4
сложность в том, чтобы перевернуть этот треугольник, у меня получается высотой вверх, а надо вниз. препод задал
0
0 / 0 / 0
Регистрация: 14.12.2012
Сообщений: 14
20.02.2013, 00:04 5
C++ (Qt)
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
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
int main() {
    int result;
    string a="    *     ",b="   ***   ", c="  *****  ",d=" ******* ",e="*********";
    cin >> result;
    cout << "\n";
    switch(result)
    {
    case 1:
        cout << a;
        break;
    case 2: 
        cout << b << "\n" << a;
        break;
    case 3:
        cout << c << "\n" << b << "\n" << a;
        break;
    case 4:
        cout << d << "\n" << c << "\n" << b << "\n" << a;
        break;  
    case 5:
        cout << e << "\n" << d << "\n" << c << "\n" << b << "\n" << a;
        break;    
    }
    getch();
    return 0;
}
0
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 7
20.02.2013, 00:06  [ТС] 6
Спасибо, но после копирования и вставки кода в программу при компиляции выдает ошибку и не запускается

Добавлено через 9 минут
и там немного по-другому надо. там надо ввести основание треугольника с клавиатуры, оно должно быть нечетным и любым, и он должен построиться по той формуле. У меня заработало, но при цифре более 5 не работает
0
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 7
20.02.2013, 00:07  [ТС] 7
и там немного по-другому надо. там надо ввести основание треугольника с клавиатуры, оно должно быть нечетным и любым, и он должен построиться по той формуле. У меня заработало, но при цифре более 5 не работает
0
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
20.02.2013, 10:36 8
и что препод добится этим хочет,как ты заметил то Elovic, предложил тебе статическую модель,я же тебе уже описал алгоритмдействия через 2 цикла и еще 1 счетчик предыдушего состояния

Добавлено через 17 минут
тут
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
#include <iostream>
 
using namespace std;
 
int main(){
    system("chcp 1251");
    int size = 0;
    int h;
    while(size%2 -1){
        cout << "Введите длину основания " << endl;
        cin >> size;
    }
 
    h = size/2 + 1;
 
    for(int i = 0; i < h; i++){
        int flag = i*2 ;
        int k;
        for(k = 0 ; k < flag/2 ; k++)
                cout << " ";
        for(int j = k ; j < size;j++)
            if(j < size - flag/2)
                cout << "*";
            else
                cout << " ";
 
        cout<<endl;
    }
    cout<<endl;
    system("pause");
    return 0;
}
готовый код но я настаиваю чтоб вы сами написали, алгоритм есть
1
0 / 0 / 0
Регистрация: 14.12.2012
Сообщений: 14
20.02.2013, 12:06 9
Nixy, да, отличный код
0
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 7
20.02.2013, 19:42  [ТС] 10
спасибо, но при запуске ошибку опять выдает((
0
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
20.02.2013, 19:54 11
какого рода ошибка?
0
2 / 2 / 1
Регистрация: 25.05.2012
Сообщений: 18
20.02.2013, 20:02 12
Компиль не в дебаг, а в релиз
0
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
20.02.2013, 20:04 13
какая разница, исполняймый фаил все равно , должен работать
0
2 / 2 / 1
Регистрация: 25.05.2012
Сообщений: 18
20.02.2013, 20:18 14
ну я вот попробовал там и там в дебаг не прошло, ошибка линковщика
0
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
20.02.2013, 20:27 15
на какой фаил, или у вас что <iostream> нет? или пространства имен std? просто все остальные переменные на месте
0
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 7
22.02.2013, 00:17  [ТС] 16
Спасибо, все заработало!
0
6 / 5 / 2
Регистрация: 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;
}
0
68 / 41 / 1
Регистрация: 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 то будет половина пирамиды только
1
6 / 5 / 2
Регистрация: 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;
}

Есть правда некоторая ошибка при четных значениях основания,но в основном-верно.А улучшать лень.
0
68 / 41 / 1
Регистрация: 14.05.2013
Сообщений: 383
28.07.2013, 13:17 20
aned, Вот это правильно, молодец, лови +
1
28.07.2013, 13:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.07.2013, 13:17
Помогаю со студенческими работами здесь

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

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

Программа которая выводит на экран геометрическую фигуру(исправить)
Мне нужно чтобы треугольник был пустым,т.е звездочками должна быть нарисована граница #include...

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

Изобразить геометрическую фигуру
требуется через if изобразить геометрическую фигуру как на фото Ссылка удалена.

Нарисовать геометрическую фигуру
Мужики, подскажите как решить вот такую задачу: Нарисовать геометрическую фигуру цвета а на фоне...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru