Вывод двумерного массива на C
Пытаюсь вывести в цикле for с помощью printf двумерный массив по индексу. На C++ это сделать легко, но мне нужно именно на си. При некоторых попытках вывести массив возникает исключение "нарушение прав доступа при чтении по адресу", которое вызывает printf.
Одна из немногих ситуаций, где без проблем портировать из под C++ на C не получается :(
Ответы (1 шт):
Автор решения: spermobak
→ Ссылка
Вот пример вывода двумерного массива заполненого случайными числами в заданном диапазоне
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <locale.h>
int main()
{
int q;
setlocale(LC_ALL,"");
printf("Введите количество строк и столбцов в матрице: ");
scanf("%d", &q);
int a[q][q];
srand(time(NULL));
setlocale(LC_ALL,"");
printf("Матрица:\n");
for(int m = 0; m < q; m++)
{
for(int f = 0; f < q; f++)
{
a[m][f] =-99 + rand()%199;
printf("%4d ",a[m][f]); //если надо чтобы элементы массива были пронумированы printf("(%d.%d)%4d ",m,f,a[m][f]);
}
printf("\n");
} return 0;
}