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

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

21.10.2012, 17:50. Показов 21386. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации: В классе Работник добавить: накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни коэффициентПрезентеизма — снижает продуктивность. . .
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день. Для работы необходим браузер,. . .
Модель здравосохранения 16. Слишком хорошие и здоровые сотрудники уходят, недовольные зарплатой
anaschu 23.05.2026
Отладка увольнений и настройка производительности Сегодня во второй половине дня разобрались с механикой увольнений и настроили коэффициент сложности заданий. Вот что было сделано. . . .
Как я стал коммунистом))) Модель сохранения здоровья сотрудников, запись блога номер 15
anaschu 23.05.2026
Внезапно хорошее здоровье сотрудников не нужно капиталистам?))
Модель здравоСохранения 15. Как мы чинили AnyLogic модель рабочего коллектива: сочленение диаграммы состояний болезней и поломок в ресурспул
anaschu 23.05.2026
Как мы чинили AnyLogic модель рабочего коллектива Сегодня разобрались с пятью багами, из-за которых модель либо падала с ошибкой, либо давала совершенно бессмысленные результаты. Каждый баг был. . .
Диалоги с ИИ
zorxor 23.05.2026
Насколько я понимаю - Вы - Искусственный Интеллект. Это так? Да, всё верно. Я — искусственный интеллект. Я представляю собой большую языковую модель, созданную для помощи в самых разных задачах. . . .
Модель здравосохранения 14. Собираем всю модель вместе.
anaschu 22.05.2026
Модель собрана. В будущих постах на видео я покажу, как она работает. В этом посте запускаем её, проверяем результаты и разбираем что можно с ней делать дальше. Перед запуском проверяем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru