Member 12670691 Ответов: 1

Как создать следующий шаблон в C?


На самом деле * был заменен на " " ;
Если мы можем решить эту проблему с помощью abs() , то, пожалуйста, объясните это;

****1****
***1*1***
**1*2*1**
*1*3*3*1*
1*4*6*4*1
*1*3*3*1*
**1*2*1**
***1*1***
****1****


Что я уже пробовал:

#include<stdio.h>
#include<conio.h>

   int main()
   {
       int i,j,c=0;

       for(i=5;i>=1;i--)
       {
           for(j=1;j<=9;j++)
           {
               if( (j>= i) && (j<= (c+i) )  )
               {
                   printf("*");

               }
               else
               {
                   printf(" ");
               }
           }
           c=c+2;
           printf("\n");
       }

       c=6;

           for(i=2;i<=5;i++)
       {
           for(j=1;j<=9;j++)
           {
               if( (j>= i) && (j<= (c+i) )  )
               {
                   printf("*");

               }
               else
               {
                   printf(" ");
               }
           }
           c=c-2;
           printf("\n");
       }



       getch();
       return 0;
   }

nv3

Ни один из ваших операторов printf не печатает число. Итак, как вы ожидаете, что ваш код напечатает нужный шаблон? Кроме того, посмотрите на выражение в операторах if:

компания J&ГТ;=я &амп;&амп; Дж&Л;=С+я

Поскольку с всегда положительно, это выражение всегда ложно.

Мое предложение: Запустите свой код с помощью отладчика и посмотрите, что он делает, строка за строкой. И сравните это с тем, что вы ожидали. Вы скоро увидите, где находятся различные ошибки.

jeron1

Как насчёт

#include< stdio.h>
#включить & lt;conio. h>

тап_п()
{
printf("****1****\н");
printf("***1*1***\н");
printf("**1*2*1**\н");
printf("*1*3*3*1*\н");
printf("1*4*6*4*1\н");
printf("*1*3*3*1*\н");
printf("**1*2*1**\н");
printf("***1*1***\н");
printf("****1****\н");
}
Видишь? Никакого АБС ()!

;-)

1 Ответов

Рейтинг:
6

Patrice T

Это домашнее задание, поэтому только советы.
Картина такова:
Треугольник Паскаля-Википедия, свободная энциклопедия[^]
- попробуйте решить задачу как 2 задачи:
- решите вычисление значений каждой строки.
- Решите презентацию
вам нужно запомнить предыдущую строку, чтобы вычислить следующую.
Nota: abs () не требуется.


CPallini

5.

Patrice T

Спасибо