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

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

Войти
Регистрация
Восстановить пароль
 
mihail96d
0 / 0 / 0
Регистрация: 15.04.2016
Сообщений: 11
#1

Начинающий фараон хочет показать пирамиду - C++

13.05.2016, 13:18. Просмотров 143. Ответов 1

Добрый день, уважаемые форумчане.

Я написал программу, которая строит пирамиду с числом ярусов, которое указывает пользователь.

Не мог ли я где-то сократить себе дорогу? Может ли данная задача решаться одной или двумя переменными вместо трёх, как у меня? (Работал в CB 16.01)

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
#include <iostream>
 
using namespace std;
 
int main()
{
    // включает русский язык
    setlocale (0, "RUS");
 
    // в этой переменной кол-во уровней
    int levels;
 
    // запрос у пользователя количества уровней
    cout << "Сколько уровней будет иметь ваша пирамида?" << endl;
    cin >> levels; // указание кол-ва уровней
 
    // номер строки, именно номер, поэтому начальное значение 1
    int counter_one = 1;
 
    // число символов в строке, начальное значение 0,
    // потому как до ввода символов строка пустая
    int counter_two = 0;
 
    // запуск цикла, строящего пирамиду;
    while (counter_one <= levels)
    {
        // набирается первый символ первой строки
        // предполагается, что пользователь ввёл число больше нуля
        cout << "N";
        counter_two++; // число символов в строке растёт на один
        // если число символов в строке равно номеру строки,
        // то происходит переход на новую строку и задание
        // новой строке нового номера, а так же обнуление
        // числа символов в строке (новая строка пустая)
        if (counter_two == counter_one)
        {
            cout << "\n";
            counter_one++;
            counter_two = 0;
        }
        // цикл выполняется до тех пор, пока не будет
        // построено столько ярусов, сколько
        // приказал пользователь
    }
 
    // ожидание, позволяющее пользователю увидеть результат работы программы
    cout << "Нажмите Enter для продолжения..." << endl;
    cin.ignore(10, '\n');
    cin.get();
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2016, 13:18     Начинающий фараон хочет показать пирамиду
Посмотрите здесь:
C++ Заполнить пирамиду
Перекласть пирамиду C++
Построить пирамиду C++
строим пирамиду циклом for C++
C++ Вывести пирамиду из букв Х
C++ Изобразите на экране пирамиду из символов 'X
C++ Построить четырехугольную пирамиду, найти ее площадь и объем
C++ Сформировать стек-пирамиду слов: на вершине самое длинное
C++ Разработайте, реализуйте и протестируйте класс, описывающий правильную треугольную пирамиду
Пирамиду SABC задан координатами своих вершин. Найти полную поверхность пирамиды. C++
Начинающий программист C++
C++ Начинающий си/си++ программист

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lawr
366 / 260 / 124
Регистрация: 09.05.2014
Сообщений: 769
13.05.2016, 15:20     Начинающий фараон хочет показать пирамиду #2
используем рекурсию
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
void piramida (int n){
    if (n==0)
        return;
    piramida (n-1);
    for (int i=0; i<n; i++)
        std::cout<<'N';
    std::cout<<std::endl;
}
 
int main()
{
    int l;
    std::cin>>l;
    piramida (l);
}
Ответ Создать тему
Опции темы

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