Помогите, нужна помощь. Только начал изучать динамические массивы
Код должен принимать на себя значение n, отвечающее за количество строк в массиве, и сами элементы массива (по итогу должен получится array[n][3]). При выводе тех же значений из массива почему то первые элементы не совпадают с введёнными, не знаю почему. Ввожу в качестве теста:
16
3 2 3
1 2 3
1 3 3
3 2 4
3 1 3
2 2 1
4 3 4
4 2 4
3 4 2
2 1 3
2 4 3
2 2 4
3 4 4
3 4 2
4 3 4
3 2 2
Выводит:
11344416 0 11364720
11365120 0 11365728
1 3 3
3 2 4
3 1 3
2 2 1
4 3 4
4 2 4
3 4 2
2 1 3
2 4 3
2 2 4
3 4 4
3 4 2
4 3 4
3 2 2
(только первые 6 не совпадают)
#include <stdio.h>
#include <stdlib.h>
int main()
{ int n, **array;
printf("Enter the number of students\n");
scanf("%d", &n);
if (n <= 0)
printf("The number of students are entered incorrectly");
else {
printf("Enter student's grades\n");
array = (int**)malloc(n * sizeof(int));
for (int i = 0; i < n; i++)
{array[i] = (int*)malloc(3 * sizeof(int));
for (int l = 0; l < 3; l++)
scanf("%d", &array[i][l]);}
for (int i = 0; i < n; i++)
{
for (int l =0; l < 3; l++)
printf("%d ", array[i][l]);
printf("\n");
}
}
return 0;
}