Вывод фигур на экран (цикл for) - C (СИ)

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

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

Требуется с помощью фориков вывести следующие фигуры одним кодом. Первые две выводятся без проблем, при добавлении третьего забивает все звездами без перерыва. Может, кто-нибудь увидит ошибку в коде?
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
  int i, k=0, z=0, a, p=0;
  for(i=1; i<=10; i++) {
        k=0;
    while(k!=i) {
    k++;
    printf("*");
     }
     printf("\n");
  }
  for(i=10;i>=1;i--) {
    z=0;
    while(z!=i) {
        printf("*");
        z=z+1;
    }
    printf("\n");
  }
  for(i=1; i<=10; i++) {
        a=0;
    while(a!=i) {
        a++;
        printf(" ");
    }
    while(p!=(10-i)) {
        printf("*");
        p=p+1;
    }
    printf("\n");
  }
   return 0;
}
Требуемые фигуры:

Решение задачи: «Вывод фигур на экран (цикл for)»

textual
Листинг программы
for(i=1; i<=10; i++) 
{
     p = 0;//тут нужно обнулять
   /*while(a!=i) 
     {
         a++;
         printf(" ");
     }*///думаю это можно вообще убрать, потому, что треугольник и без него строится хорошо
     while(p!=(10-i)) 
     {
         printf("*");
         p=p+1;
     }
    printf("\n");
}

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

В этом коде используется цикл for для вывода на экран 10 различных треугольников.

  1. Установка начального значения переменной i равным 1.
  2. Установка начального значения переменной p равным 0.
  3. В каждой итерации цикла значение переменной i увеличивается на 1.
  4. Затем, внутри цикла while, значение переменной p увеличивается на 1, пока оно не станет равным 10-i.
  5. Значение переменной a увеличивается на 1 в каждой итерации цикла while внутри условия if, но это не влияет на результат, поскольку треугольник строится правильно.
  6. Значение переменной p увеличивается на 1 в каждой итерации цикла while, пока оно не станет равным 10-i.
  7. В каждой итерации цикла while выводится символ *.
  8. После завершения цикла while, выводится символ \n, который переходит на новую строку.
  9. После завершения цикла for, значение переменной i увеличивается на 1 и процесс повторяется для следующего треугольника. Следовательно, код создает 10 различных треугольников, каждый из которых выводится на новую строку.

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


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

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

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