Мне нужна помощь. Я хочу научиться создавать и использовать динамическую матрицу, которая является элементом структуры, я хочу заполнить матрицу нулями (0) и распечатать ее, я пробовал много способов, но не повезло. Вот кодДинамическая матрица внутри структуры, программирование на C
#include <stdio.h>
#include <stdlib.h>
typedef struct matrica
{
int **mat;
int dim; //this is dimension of squared matrix
}MATRICA;
void form_matrix(MATRICA *matrica);
int main()
{
MATRICA matrix;
form_matrix(&matrix);
return 0;
}
void form_matrix(MATRICA *matrica)
{
int i, j;
MATRICA *br;
do
{
printf("Size of matrix ");
scanf("%d", &br->dim);
}while(br->dim < 4 || br->dim > 6);
matrica->mat = (int **) calloc(br->dim, sizeof(int *));
for(i = 0; i < br->dim; i++)
{
matrica->mat[i] = (int *) calloc(br->dim, sizeof(int));
for(j = 0; j < br->dim; j++)
{
matrica->mat[i][j] = 0;
}
}
for(i = 0; i < br->dim; i++)
for(j = 0; j < br->dim; j++)
printf("%d ", matrica->mat[i][j]);
}
Что я делаю неправильно, моя функция внутри цикла идет только один раз, может кто-нибудь объяснить мне, почему?
какой цикл? у вас есть несколько циклов. –
первый намеченный цикл, при инициализации матрицы и заполнении нулями – TheNemesis584
Какова цель 'br', и почему вы используете ее неинициализированным? – jxh