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

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

Восстановить пароль Регистрация
 
mihail96d
0 / 0 / 0
Регистрация: 15.04.2016
Сообщений: 10
13.05.2016, 13:18     Начинающий фараон хочет показать пирамиду #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++
строим пирамиду циклом for C++
Перекласть пирамиду C++
Пирамиду SABC задан координатами своих вершин. Найти полную поверхность пирамиды. C++
C++ Разработайте, реализуйте и протестируйте класс, описывающий правильную треугольную пирамиду
C++ Изобразите на экране пирамиду из символов 'X
C++ Сформировать стек-пирамиду слов: на вершине самое длинное

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lawr
 Аватар для lawr
340 / 234 / 114
Регистрация: 09.05.2014
Сообщений: 723
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);
}
Yandex
Объявления
13.05.2016, 15:20     Начинающий фараон хочет показать пирамиду
Ответ Создать тему

Метки
c++, пирамида, цикл while
Опции темы

Текущее время: 10:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru