Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.82/113: Рейтинг темы: голосов - 113, средняя оценка - 4.82
 Аватар для D_bl_M
28 / 28 / 1
Регистрация: 25.03.2012
Сообщений: 130

Нарисовать треугольник

21.10.2012, 17:50. Показов 21268. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
День добрый!
Учу по книге.
Not student!

Тема не раз уже поднималась, но моего варианта не нашел, подскажите, направьте (код не обязательно), как сделать такое (фигура должна быть именно такая, только без точек, это я пробелы забил т.к. неправильно отображалось)
5. При помощи цикла for изобразите на экране пирамиду из символов 'X'.
Верхняя часть пирамиды должна выглядеть следующим образом:
............х
.........ххх
......ххххх
...ххххххх
ххххххххх
Вся пирамида должна быть высотой не 5 линий, как изображено здесь, а 20 линий. Одним из способов ее построения может служить использование двух вложенных циклов, из которых внутренний будет заниматься печатанием символов 'X' и пробелов, а другой осуществлять переход на одну строку вниз.
Я собственно вот что накрутил:
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 <iomanip>;
using namespace std;
 
int main()
{
    char star = '*';
    char space = ' ';
 
    int lines =20; // comment if use var 2!
// var 2:
// for (int i = 1; i <= 20; i++)
    for (int i = 1; i <= lines; i++)
    {
        for (int j = 1; j < i; j++)
            cout << star;
        cout << '\n'; // or endl
    }
    
    return 0;
}
На мои комменты внимание не обращаем, это я так для себя...
Как видите
C++
1
char space = ' ';
не задействовано, и куда приткнуть ума не приложу, но чет подсказывает надо что-то от кого-то вычесть ))
Всем спасибо!
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.10.2012, 17:50
Ответы с готовыми решениями:

Нарисовать треугольник
Помогите нарисовать треугольник. Я нарисовал, но надо сделать его наоборот. Он должен смотреть в другую сторону. Должно выйти что вот...

Нарисовать треугольник
Помогите!!! Программа должна делать прямоугольный треугольник (ввод катетов с клавиатуры), а она делает трапецию. #include...

Нарисовать треугольник
Добрый день. Помогите с кодом для отрисовки треугольника по введенным координатам (х и у) его вершин. То есть при загрузке программы,...

27
0 / 0 / 0
Регистрация: 29.01.2017
Сообщений: 7
09.02.2017, 21:29
Студворк — интернет-сервис помощи студентам
Пожалуста помогите

Добавлено через 1 час 16 минут
Можете помочь как сделать вот такой трехугольник из звездочек в циклах
***
.**
..*
но без точек....
и с вайлами
0
28 / 26 / 14
Регистрация: 15.10.2012
Сообщений: 60
11.02.2017, 09:56
Oleksiy, попробуйте взять для образца код, предоставленный Lana_levchuk (пост #8).
Вам останется лишь:
1. Заменить циклы for на циклы while (как того требует задание).
2. Изменить на убывание количества звездочек.
0
0 / 0 / 0
Регистрация: 29.01.2017
Сообщений: 7
11.02.2017, 10:33
я незнаю как менять
0
28 / 26 / 14
Регистрация: 15.10.2012
Сообщений: 60
12.02.2017, 20:10
Oleksiy, ок, давайте так.

Вот максимально упрощенный код, выполняющий требуемое.

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
#include <iostream>
#include <conio.h>
using namespace std;
int main(int argc, char* argv[])
{
    int s = 6;          //  Количество строк
 
    for(int i=0; i<s; i++)      // Внешний цикл
    {
 
        for (int j=0; j<s; j++) // Внутренний цикл
        {
            if (j<i)
            cout << ' ';
            else
            cout << '*';
        }
            cout<<endl;
 
    }
    cout<<endl;
    getch();
    return 0;
}

Но здесь используется цикл for.
Ваша задача - переделать на while.

В общем виде цикл for:
C
1
2
3
4
for (int i=0; i<14; i++)
{
...
}
можно заменить на:
C
1
2
3
4
5
6
int i=0;
while (i<14)
{
i++;
...
}
Строки 13-16 и 18 рекомендую оставить без изменений.
0
59 / 54 / 34
Регистрация: 18.04.2014
Сообщений: 122
12.02.2017, 20:41
Цитата Сообщение от De_N Посмотреть сообщение
можно заменить на:

C
1
2
3
4
5
6
int i=0;
while (i<14)
{
i++;
...
}
i++ нужно поменять с многоточием местами
0
28 / 26 / 14
Регистрация: 15.10.2012
Сообщений: 60
12.02.2017, 21:22
Mathist, не согласен с Вами.
i++ можно поменять с многоточием местами.
В приведенном куске кода условие проверяется в строке 2. Если оно истинно, то блок {...} выполнится весь полностью (если, конечно, там не встретится, например, break). Т.е. без разницы где в этом блоке расположен инкремент, лишь бы он там был.
Поправьте меня, если не прав.
0
59 / 54 / 34
Регистрация: 18.04.2014
Сообщений: 122
12.02.2017, 23:00
De_N, все верно, только в вашем случае первый проход цикла будет
с i == 1, а в моем случае i == 0, если эта переменная
используется скажем для индекса массива, то результат будет разным. В итоге в вашем
случае тело цикла будет выполнено для значений i = 1..14, а в моем i = 0..13.
0
28 / 26 / 14
Регистрация: 15.10.2012
Сообщений: 60
12.02.2017, 23:15
Mathist, мда, насчет этого как-то не подумал.
А, кстати, конкретно в этом случае переменная как раз таки используется в теле цикла.
Так что очень правильное замечание
для г-на Oleksiy
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.02.2017, 23:15
Помогаю со студенческими работами здесь

нарисовать треугольник
#include&lt;iostram&gt; using namespace std; void main(){ int x; cin &gt;&gt;x; if (x %2 ==0) x++; for ( int i=0; i&lt;x/2; i++){ ...

нарисовать треугольник из * без if else
Доброго времени суток, в книге задание нарисовать треугольник из *, причем пользователь вводит кол-во строк, не используя if else. Что-то...

Нарисовать треугольник в консоли
#include &lt;iostream&gt; using namespace std; int main() { setlocale(LC_ALL, &quot;rus&quot;); char ch; int height =...

Нарисовать треугольник звездочками
1) Write a program that prints the screen below. Conditions: Only use one printf(&quot;*&quot;) or writeln(“*”). And one printf(&quot;...

Нужно Нарисовать Треугольник на C++
Дали задание по C++. Нарисовать треугольник.Дайте материалы(ссылки,книги,tutorial) с не сложными кодами. Заранее Спасибо p.s....


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

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru