Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Изобразите на экране пирамиду из символов 'X - C++

30.11.2013, 18:00. Просмотров 2647. Ответов 24
Метки нет (Все метки)

При помощи цикла for изобразите на экране пирамиду из символов 'X'. Верхняя часть пирамиды должна выглядеть следующим образом:
х
ххх
ххххх
ххххххх
ххххххххх
Вся пирамида должна быть высотой не 5 линий, как изображено здесь, а 20 линий. Одним из способов ее построения может служить использование двух вложенных циклов, из которых внутренний будет заниматься печатанием символов 'X' и пробелов, а другой осуществлять переход на одну строку вниз.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2013, 18:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Изобразите на экране пирамиду из символов 'X (C++):

Считывание уже выведенных символов на экране консоли - C++
Привет всем тем, кто любит пушистых зверушек, да и всем остальным тоже. Ну да ладно, Допустим на экран выведена некоторая...

Изобразите скатывание шарика - C++
Изобразите скатывание шарика по кривой, заданной уравнением y = (x-1)2 + ex на интервале . Как только шарик достигает конца кривой, он...

Изобразите на экране закрашенную пятиконечную звезду - Pascal
1. Изобразите на экране закрашенную пятиконечную звезду в центре экрана и заставьте её увеличиваться до размеров экрана, а затем по нажатию...

Изобразить на экране пирамиду - Turbo Pascal
Всем привет, задали задачу. Сделать надо через uses crt; Условие задачи: Изобразите на экране пирамиду сбоку, состоящую из...

Циклический алгоритм. Изобразите на экране тараканьи бега - Turbo Pascal
Изобразите на экране тараканьи бега(или авторалли, или конные соревнования, или большие гонки или что-нибудь, подобное). Соревнующихся...

Изобразите на экране движение бильярдного шара после столкновения со стенкой - PascalABC.NET
Изобразите на экране движение шара по бильярду без луз.Используйте правило:угол отражения равен углу падения.Начальное направление движения...

24
gray_fox
What a waste!
1521 / 1226 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
09.07.2014, 01:52 #16
mpol,
C++
1
2
3
4
5
6
7
8
9
10
for (std::size_t i = 1; i <= 20; ++i) {
   std::size_t j = 0;
   for ( ; j != 20 - i; ++j) {
      std::cout << ' ';
   }
   for ( ; j != 20; ++j) {
      std::cout << 'X';
   }
   std::cout << std::endl;
}
Добавлено через 2 минуты
ну или так
C++
1
2
3
for (std::size_t i = 1; i <= 20; ++i) {
   std::cout << std::string(20 - i, ' ') << std::string(i, 'X') << std::endl;
}
0
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
09.07.2014, 02:13 #17
gray_fox, но это не пирамида
1
gray_fox
What a waste!
1521 / 1226 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
09.07.2014, 02:23 #18
GuGo1991, а, понял, тогда так:
C++
1
2
3
4
5
6
for (std::size_t i = 0; i != 20; ++i) {
   std::cout << std::string(20 - i - 1, ' ')
             << std::string(i * 2 + 1, 'X')
             << std::string(20 - i - 1, ' ')
             << std::endl;
}
0
mpol
1 / 1 / 0
Регистрация: 23.10.2013
Сообщений: 23
09.07.2014, 07:10 #19
GuGo1991, большое спасибо.
Ваше решение наиболее соответствует условию. Про IF во 2 цикле я не подумал.
0
Nick Alte
Эксперт С++
1640 / 1012 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
09.07.2014, 09:29 #20
Цитата Сообщение от mpol Посмотреть сообщение
Ведь решить более простым способом не означает что этот способ лучше.
Не всегда, конечно, но в большинстве случаев как раз означает. Печатать пробелы одним циклом, а кресты вторым и нагляднее, и эффективнее, чем проверять условие для каждого символа. А понятность и выразительность текста программы - приоритет нумер один.
0
mpol
1 / 1 / 0
Регистрация: 23.10.2013
Сообщений: 23
09.07.2014, 12:53 #21
Цитата Сообщение от Nick Alte Посмотреть сообщение
Не всегда, конечно, но в большинстве случаев как раз означает.
Согласен. Но была конкретная задача с конкретным условием.
Часто начальство ставит условия при которых что либо нужно сделать, но при этом не принимает во внимание, что есть способы которыми можно гораздо проще добиться требуемого результата. И поэтому приходится делать с таким условием как давалось в задании.
0
Nick Alte
09.07.2014, 13:02
  #22

Не по теме:

Когда увидите начальство, диктующее, во сколько циклов надо решать задачу - бегите от него со всех ног и не оглядывайтесь.

0
mpol
1 / 1 / 0
Регистрация: 23.10.2013
Сообщений: 23
09.07.2014, 21:45 #23
Прошу прощения что пишу так как есть, не знаю, как указать, что сообщение не по теме.
Я не работаю программистом, хоть и хочется научится писать программы. И у меня нет наставника, который мог бы чему нибудь научить программированию (хоть и хотелось бы).
Так вот, думаю многие сталкивались с указаниями начальства, и эти указания, как правило, очень далеки от того что нужно сделать и как нужно правильно сделать определенную работу. Только поэтому я упомянул начальство. Но в будущем, я надеюсь, я научусь программировать и с удовольствием прибегну или послушаюсь вашего совета. Честно говоря, очень не люблю, когда мне указывают как и что нужно сделать, особенно если задание я понимаю по своему (реализацию или то как оно должно быть в жизни) . Всем спасибо за помощь, я очень признателен вам.
0
Yegor_Fedosov
0 / 0 / 0
Регистрация: 13.09.2014
Сообщений: 3
07.12.2014, 20:25 #24
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
    
#define N 40
...
    int l=0,k=0;
    for (int i=0;i<N;i++)
    {
        k=0;
        for(int j=i;j<N;j++)
        {
            if (i%2!=0) 
            { 
                    cout<<' ';
                    k++;
                    if (k==(N-i))
                    {
                        l=i; 
                        while (l>0)
                        {cout<<'x';l--;}
                    }
            }
        }
        if (i%2!=0) cout<<endl;
    }
(у Лафоре пирамида в другую сторону смотрит)
0
Rex030
0 / 0 / 0
Регистрация: 22.03.2017
Сообщений: 2
22.03.2017, 04:57 #25
При помощи цикла for изобразите на экране пирамиду из символов 'X'.
Верхняя часть пирамиды должна выглядеть следующим образом:
х
ххх
ххххх
ххххххх
ххххххххх
Вся пирамида должна быть высотой не 5 линий, как изображено здесь,
а 20 линий. Одним из способов ее построения может служить использова-
ние двух вложенных циклов, из которых внутренний будет заниматься
печатанием символов 'X' и пробелов, а другой осуществлять переход на
одну строку вниз. (Задача выглядит имменно так! выравнивание по правой стороне). Моё решение не идеал, но...

Добавлено через 50 секунд
#include <iostream>
#include <conio.h>
#include <iomanip>


using namespace std;



int main(){
int n = 21;
char ch = 'x';



for(int i = 0; i <= 20; i++, n--)
{
cout << setw(n);

for (int j = 1; j < i; j++)
{
cout << ch;

}

cout << endl;
}

getch();
return 0;
}
0
22.03.2017, 04:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.03.2017, 04:57
Привет! Вот еще темы с ответами:

Изобразите на экране прямую, вращающуюся в плоскости экрана вокруг одной из своих точек. - Turbo Pascal
вообщем вот такое задание:Изобразите на экране прямую, вращающуюся в плоскости экрана вокруг одной из своих точек. Цвет прямой должен...

Вывести пирамиду символов - Pascal ABC
Вывести пирамиду символов,как показано на рисунке.Глубину пирамиды -число строк,опеределяемых последним символом в последней...

Построить пирамиду из символов - Java SE
Привет всем, надо построить пирамиду из символов &quot;^&quot;. Написал метод, где не могу додумать зависимость ширины пирамиды, от её высоты и...

Нарисовать пирамиду из решеток похожую на пирамиду - C (СИ)
Задача: нужно нарисовать пирамиду из решеток похожую на пирамиду , на которую взбирается Марио в конце каждого уровня в игре. Типа такой ...


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Опции темы

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