Вывести треугольник из звездочек - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Люди выручайте. Нужно при помощи while нарисовать вот такое:
* ** *** **** *****
Тоесть нарисовать такие треугольнички при помощи цикла. Вот я сделал 1 (точнее немного помогли.)
#include "stdafx.h"
#include <iostream>
using namespace std;
int main(void)
{
int x,y;
x=y=0;
y=0;
    while (x<=5)
    {
    y=0;
            while (y<=5)
            {
                    if(x>y)
                    {
                    cout<<"*";
                    }
                    else
                    {
                    cout<<" ";
                    }
                y++;
            }
    cout<<"\n";
    x++;
    }
}
Меняю знак, получаю 4 треугольник :
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
int main(void)
{
int x,y;
x=y=0;
y=0;
    while (x<=5)
    {
    y=0;
            while (y<=5)
            {
                    if(x<y)
                    {
                    cout<<"*";
                    }
                    else
                    {
                    cout<<" ";
                    }
                y++;
            }
    cout<<"\n";
    x++;
    }
}
И методом тыка получаю 3 треугольник:
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
int main(void)
{
int x,y;
x=y=0;
y=0;
    while (x<5)
    {
    y=0;
            while (y<5)
            {
                    if(x>y)
                    {
                    cout<<"";
                    }
                    else
                    {
                    cout<<"*";
                    }
                y++;
            }
    cout<<"\n";
    x++;
    }
}
Помогите пожалуйста сделать остальные. И очень прошу донесите до моих мозгов саму логику решения. За ранее огромное спасибо

Решение задачи: «Вывести треугольник из звездочек»

textual
Листинг программы
nt i=0;
while(i<=10)
{
 
int s=10;
while(s>i-1){
cout<<" ";
s--;}
 
int a=0;
while(a<i+1)
{
cout<<" ";
cout<<"*";
a++;
 
}
cout<<"\n";
i++;
}

Объяснение кода листинга программы

В данном коде используется два вложенных цикла. Первый внешний цикл, который выполняется 11 раз, отвечает за вывод строк треугольника. Второй внутренний цикл, который выполняется от 0 до i-1, отвечает за выравнивание звездочек в строке.

  1. Переменная nt i=0; инициализирует счётчик для внешнего цикла, который начинается с 0 и увеличивается на 1 при каждой итерации.
  2. Внешний цикл while(i<=10) выполняет 11 итераций, начиная с 0 и заканчивая 10.
  3. На каждой итерации внутреннего цикла while(s>i-1) выводится 10 пробелов. s-- уменьшает значение на 1 при каждой итерации, таким образом, на каждой итерации внутреннего цикла выводится на 1 пробел меньше.
  4. Переменная int a=0; инициализирует счётчик для внутреннего цикла, который начинается с 0 и увеличивается на 1 при каждой итерации.
  5. На каждой итерации внутреннего цикла while(a<i+1) выводится 10 звездочек. a++ увеличивает значение на 1 при каждой итерации, таким образом, на каждой итерации внутреннего цикла выводится на 1 звездочка больше.
  6. После завершения внутреннего цикла выводится символ новой строки \n, который перемещает курсор на новую строку.
  7. После завершения внешнего цикла значение счётчика i увеличивается на 1.
  8. Код повторяется до тех пор, пока счётчик i не достигнет 11. Следовательно, код выводит 11 строк треугольника, где каждая строка состоит из 10 звездочек, смещённых на 1 вправо относительно предыдущей строки.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.6 из 5
Похожие ответы