C/C++

Помогите добавить ввод чисел в массив матрицы на языке Си

Условия задачи на фото. Нужно добавить ввод массива с клавиатуры.
Код https://pastebin.com/U5Cs8dDS
Иван Т.
Иван Т.
104
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n;
do
{
printf("Введите n: ");
scanf("%d",&n);
}while(n < 1);
int ** arr;
arr = (int**) malloc(sizeof(int*)*2*n);
for(int x = 0; x < 2*n; x++)
arr[x] = (int*) malloc(sizeof(int)*2*n);
/* ввод данных */
for(int x = 0; x < 2*n; x++)
{
for(int y = 0; y < 2*n; y++)
{
printf("arr[%d][%d] = ",x,y);
scanf("%d",&arr[x][y]);
}
}

for (int i = 0; i < 2*n*2*n; i++) {
if (i % (2*n) == 0 && i)
printf("\n");
printf("%-3d", arr[i / (2*n)][i % (2*n)]);
}
printf("\n\n");

for (int i = 0; i < n; i++)
{
for (int j = 0; j < (2*n); j++)
{
int tmp;
tmp = arr[(i + n) % (2*n)][(j + n) % (2*n)];
arr[(i + n) % (2*n)][(j + n) % (2*n)] = arr[i][j];
arr[i][j] = tmp;
}
}

for (int i = 0; i < 2*n*2*n; i++) {
if (i % (2*n) == 0 && i)
printf("\n");
printf("%-3d", arr[i / (2*n)][i % (2*n)]);
}

if(arr != (int**) NULL)
{
for(int x = 0; x < 2*n; x++)
{
if(arr[x] != (int*) NULL)
{
free(arr[x]);
arr[x] = (int*) NULL;
}
else return 1;
}
free(arr);
arr = (int**) NULL;
return 0;
}
return 1;
}
Тарик Карапетян
Тарик Карапетян
95 717
Лучший ответ
Геннадий Шмаргунов снова БЕЗ проверки выделения памяти и аварийного выхода из программы. На месте препода сразу КОЛ осиновый. А если в будущем программером будешь работать, то... без обиды