Дана матрица MхM, нужно вывести их в новый массив, вот только я не понимаю почему не все элементы выводятся
int main(int argc, char *argv[])
{
int matrix_size, counter = 0;
printf("Enter size of matrix: ");
scanf("%d", &matrix_size);
int **matrix = (int**)malloc(matrix_size * sizeof(int));
for (int i = 0; i < matrix_size; ++i)
{
matrix[i] = (int*)malloc(matrix_size * sizeof(int));
}
for (int i = 0; i < matrix_size; ++i)
{
for (int j = 0; j < matrix_size; ++j)
{
printf("Element matrix[%d][%d] = ", i+1, j+1);
scanf_s("%d", &matrix[i][j]);
}
}
for (int i = 0; i < matrix_size; ++i)
{
for (int j = 0; j < matrix_size; ++j)
{
printf("%d\t", matrix[i][j]);
}
printf("\n\n");
}
for (int i = 0; i < matrix_size; ++i)
{
for (int j = 0; j < matrix_size; ++j)
{
if(i > j)
{
++counter;
}
}
}
int *arr = (int*)(malloc(sizeof(int) * counter));
for (int i = 0; i < matrix_size; ++i)
{
for (int j = 0; j < matrix_size; ++j)
{
if(i > j)
{
arr[i] = matrix[i][j];
}
}
}
for (int i = 0; i < counter; ++i)
{
printf("\n\t%d\t", arr[i]);
}
printf("\n");
return 0;
}