Вывести треугольник из звездочек - C (СИ)
Формулировка задачи:
Люди выручайте. Нужно при помощи while нарисовать вот такое:
Тоесть нарисовать такие треугольнички при помощи цикла.
Вот я сделал 1 (точнее немного помогли.)
Меняю знак, получаю 4 треугольник :
И методом тыка получаю 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++;
}
}#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++;
}
}#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, отвечает за выравнивание звездочек в строке.
- Переменная
nt i=0;инициализирует счётчик для внешнего цикла, который начинается с 0 и увеличивается на 1 при каждой итерации. - Внешний цикл while(i<=10) выполняет 11 итераций, начиная с 0 и заканчивая 10.
- На каждой итерации внутреннего цикла while(s>i-1) выводится 10 пробелов. s-- уменьшает значение на 1 при каждой итерации, таким образом, на каждой итерации внутреннего цикла выводится на 1 пробел меньше.
- Переменная
int a=0;инициализирует счётчик для внутреннего цикла, который начинается с 0 и увеличивается на 1 при каждой итерации. - На каждой итерации внутреннего цикла while(a<i+1) выводится 10 звездочек. a++ увеличивает значение на 1 при каждой итерации, таким образом, на каждой итерации внутреннего цикла выводится на 1 звездочка больше.
- После завершения внутреннего цикла выводится символ новой строки
\n, который перемещает курсор на новую строку. - После завершения внешнего цикла значение счётчика i увеличивается на 1.
- Код повторяется до тех пор, пока счётчик i не достигнет 11. Следовательно, код выводит 11 строк треугольника, где каждая строка состоит из 10 звездочек, смещённых на 1 вправо относительно предыдущей строки.