Чтение матрицы 3×3 из файла, а затем ее отображение в C

Я хочу напечатать матрицу, но я не знаю, как это сделать.

#include  #include  #include  int main(int argc, char* argv[]) { FILE *input; int i, j; float fullmatrix[3][3]; const char inp_fn[]="matrix.dat"; /*Open File*/ input = fopen(inp_fn, "r"); if( (input != (FILE*) NULL) ) { for(i=0; i<3; i++) { for(j=0; j<3; j++) { fullmatrix[i][j] = input; } fscanf(input, "%f"); } fclose(input); printf("%f %f %f\n %f %f %f\n %f %f %f\n", &matrix[i][j]); } else printf("Could not open file!\n"); return(0); } 

 for(i=0; i<3; i++) { for(j=0; j<3; j++) { fullmatrix[i][j] = input; } fscanf(input, "%f"); } 

должно быть:

 for(i=0; i<3; i++) { for(j=0; j<3; j++) { fscanf(input, "%f", &fullmatrix[i][j]); } } 

и эта линия не будет делать то, что вы думаете:

 printf("%f %f %f\n %f %f %f\n %f %f %f\n", &matrix[i][j]); 

Вам нужно распечатать его один за другим, используя петли снова:

 for(i=0; i<3; i++) { for(j=0; j<3; j++) { printf("%f ", fullmatrix[i][j]); } printf("\n"); } 

Для чтения файла и его ввода в матрицу и печати за один раз :

 for(i=0; i<3; i++) { for(j=0; j<3; j++) { fscanf(input, "%f", &fullmatrix[i][j]); // If you just want to print the matrix separately .. remove this line printf("%f ",matrix[i][j]); } printf("\n"); }