Я пытаюсь создать структуру данных для хранения матрицы и написать процедуру для создания квадратной матрицы случайных чисел.Невозможно перебрать все элементы матрицы
Вот мой код. Я странно получаю только 2 числа с плавающей точкой в качестве вывода. Я делаю все это, чтобы реализовать умножение матриц strassen, поэтому я добавил rs, re, cs, ce
в struct.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
typedef struct _matrix {
int rs;
int re;
int cs;
int ce;
float a[100][100];
}matrix;
void display(matrix m)
{
int i, j;
for (i=m.rs ; i<=m.re ; i++) {
for (j=m.cs ; j<=m.ce ; j++)
printf("%f", m.a[i][j]);
printf("\n");
}
printf("\n");
return;
}
matrix random_matrix(int n)
{
matrix random;
random.cs = random.rs = 0;
random.rs = random.re = n -1;
int i, j;
for(i=0; i < n; i++){
for(j = 0; j < n; j++)
random.a[i][j] = rand();
}
return random;
}
int main(void)
{
matrix m1 = random_matrix(3);
matrix m2 = random_matrix(3);
display(m1);
display(m2);
return 0;
}
Предложение: вызов 'srand (время (NULL));' в 'main()' один раз. –
Генерация случайных чисел не является моей проблемой. Основная проблема с моим кодом заключается в том, что я получаю только 2 float как вывод insterd для получения матриц 3x3. Я не понимаю, где я испортил – emperorspride188