Segmentation fault как исправить?
Необходимо создать динамический массив по определённому принципу. В результате компиляции выдаёт Введите количество строк: 7 Введите количество столбцов: 8 Segmentation fault
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
int main()
{
int **a; // указатель на массив
int i, j, n, m;
printf("Введите количество строк: ");
scanf("%d", &n);
printf("Введите количество столбцов: ");
scanf("%d", &m);
// Выделение памяти
a = (int*)malloc(n*m * sizeof(int));
// Ввод элементов массива
for (i = 0; i<n; i++) // цикл по строкам
{
for (j = 0; j<m; j++) // цикл по столбцам
{
printf("a[%d][%d] = ", i, j);
if((i+j)%2 == 0)
a[i][j] = 0;
else
a[i][j] = 1;
printf("%d", a[i][j]);
}
}
free(a);
getchar(); getchar();
return 0;
}
В чём ошибка?