Заполнение массива по правилу - C (СИ)

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

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

Листинг программы
  1. #include <stdio.h>
  2. #define N 4
  3. int main()
  4. {
  5. int i,j,arr[N][N];
  6. for(i=0;i<N;i++)
  7. for(j=0;j<N;j++)
  8. arr[i][j]=закон
  9. for(i=0;i<N;i++){
  10. for(j=0;j<N;j++)
  11. printf("%d\t",arr[j][i]);
  12. printf("\n");
  13. }
  14. return 0;
  15. }
1 2 3 4 3 3 5 5 5 4 7 6 7 5 9 7

Решение задачи: «Заполнение массива по правилу»

textual
Листинг программы
  1. #include <stdio.h>
  2. #define N 4
  3.  
  4. int main()
  5. {
  6.     int i,j,arr[N][N];
  7.     for(i=0;i<N;i++)
  8.         for(j=0;j<N;j++)
  9.             ((i==0) && (arr[i][j]=j+1)) ||
  10.             (((j+1)%2!=0) && (arr[i][j]=(i+1)*2-1+j)) ||
  11.             (arr[i][j]=(i+1)+j);
  12.     for(i=0;i<N;i++){
  13.         for(j=0;j<N;j++)
  14.             printf("%d\t",arr[i][j]);
  15.         printf("\n");
  16.     }
  17.     return 0;
  18. }

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

В этом коде заполняется двумерный массив по определенному правилу и выводится на экран.

  1. Объявляется переменная N с значением 4, которая определяет размер массива.
  2. Объявляется двумерный массив arr[N][N] и цикл for, который будет заполнять этот массив.
  3. В условии цикла for используются три части с использованием логического оператора ||:
    • Если i равно 0, то arr[i][j] присваивается значение j+1.
    • Если (j+1)%2!=0, то arr[i][j] присваивается значение (i+1)*2-1+j.
    • В противном случае arr[i][j] присваивается значение (i+1)+j.
  4. После заполнения массива, выводится на экран с помощью цикла for и функции printf.
  5. В конце программы возвращается 0, что означает успешное выполнение.

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


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

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

9   голосов , оценка 4.222 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы