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

Программа рисующая пирамидку - C++

Восстановить пароль Регистрация
 
GARFT
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 25
20.11.2012, 01:01     Программа рисующая пирамидку #1
Нужно создать программу которая рисует пирамиду символами # в зависимости от введённого числа.

Вводим: 5

........#
.......##
......###
.....####
....#####

Где число, это колличество этажей.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11841 / 6820 / 771
Регистрация: 27.09.2012
Сообщений: 16,911
Записей в блоге: 2
Завершенные тесты: 1
20.11.2012, 01:20     Программа рисующая пирамидку #2
Вариант "в лоб"
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <iomanip>
int main(){ 
 
    int n=20;
    
    for(int i=1;i<=n;++i){
        std::cout<<std::setw(n-i+1);
        for(int j=1;j<=i*2-1;j+=1)
            std::cout<<'*';
        std::cout<<std::endl;
    }
    system("pause");
    return 0;
}
polyaKIDze
63 / 63 / 12
Регистрация: 16.07.2012
Сообщений: 147
20.11.2012, 01:31     Программа рисующая пирамидку #3
Равнобедренный треугольник вы не сможете построить, если используете 1, 2, 3, ..., 2*n количество решеток. Под символ будь он точка или # в консоле выделится одинаковое место. Т.е. чтобы самая верхняя решетка была строго над центром строки ##, сделать не получится.
Могу предложить вариант построения из нечетного количества решеток в строке, т.е. из # ### ##### и т.д. Пусть вам дано нечетное число n. Считаем m=n\2. Теперь в цикле от k=1 до k<=n делаем printf (" ") m раз, printf ("#") - k раз, printf ("\n") - 1 раз, уменьшаем m на 1. Вам осталось только записать это на Си.

Упс. Не в тот раздел влез(
А ну и ладно
_andrew_
22 / 22 / 3
Регистрация: 14.11.2012
Сообщений: 64
20.11.2012, 15:15     Программа рисующая пирамидку #4
чтобы с клавиатуры n вводить:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <iomanip>
using namespace std;
int main(){ 
 
    int n;
    cout<<"Vvedite n:\n";
    cin>>n;
    
    for(int i=1;i<=n;++i){
        std::cout<<std::setw(n-i+1);
        for(int j=1;j<=i*2-1;j+=1)
            std::cout<<'*';
        std::cout<<std::endl;
    }
    system("pause");
    return 0;
}
Yandex
Объявления
20.11.2012, 15:15     Программа рисующая пирамидку
Ответ Создать тему
Опции темы

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