Заполнение массива по правилу - C (СИ)
Формулировка задачи:
#include <stdio.h>
#define N 4
int main()
{
int i,j,arr[N][N];
for(i=0;i<N;i++)
for(j=0;j<N;j++)
arr[i][j]=закон
for(i=0;i<N;i++){
for(j=0;j<N;j++)
printf("%d\t",arr[j][i]);
printf("\n");
}
return 0;
}Решение задачи: «Заполнение массива по правилу»
textual
Листинг программы
#include <stdio.h>
#define N 4
int main()
{
int i,j,arr[N][N];
for(i=0;i<N;i++)
for(j=0;j<N;j++)
((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);
for(i=0;i<N;i++){
for(j=0;j<N;j++)
printf("%d\t",arr[i][j]);
printf("\n");
}
return 0;
}
Объяснение кода листинга программы
В этом коде заполняется двумерный массив по определенному правилу и выводится на экран.
- Объявляется переменная
Nс значением 4, которая определяет размер массива. - Объявляется двумерный массив
arr[N][N]и циклfor, который будет заполнять этот массив. - В условии цикла
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.
- Если
- После заполнения массива, выводится на экран с помощью цикла
forи функцииprintf. - В конце программы возвращается 0, что означает успешное выполнение.