Как считать матрицу из текстового файла - C (СИ)
Формулировка задачи:
привет народ, помогите!!!
Как считать в С из текстового файла матрицу при том что я сам указываю ее размерность. Матрица nxn
Решение задачи: «Как считать матрицу из текстового файла»
textual
Листинг программы
#include <stdlib.h> #include <stdio.h> void main() { int i,j,k,n; FILE *f; int **arr; printf("N = "); scanf("%d",&n); arr = (int**)malloc(n * sizeof(int)); for(i=0;i<n;++i) { arr[i]=malloc(n*sizeof(int)); } f = fopen("out.txt","r"); for(i = 0; i < n; i++) { for(j = 0; j<n; j++) fscanf(f,"%d",&arr[i][j]); } for(i = 0; i < n; i++) { for(j = 0; j<n; j++) printf("%d ",arr[i][j]); printf("\n"); fclose(f); } }
Объяснение кода листинга программы
В этом коде:
- Объявлены следующие переменные:
i
,j
,k
,n
- для хранения количества строк, столбцов и индексов матрицы, а также общего размера матрицы.f
- для открытия файла.arr
- для хранения адресов матрицы.
- Пользователю предлагается ввести размер матрицы (
n
). - Выделена память под матрицу
arr
. - В цикле
for
происходит выделение памяти под каждый элемент матрицыarr[i]
. - Открывается файл
out.txt
для чтения. - В цикле
for
происходит чтение значений из файла и сохранение их в матрицеarr
. - В цикле
for
происходит вывод значений матрицыarr
на экран. - Файл закрывается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д