Прочитать матрицу из файла - C (СИ) (77448)
Формулировка задачи:
Нужно написать функцию, считывающую из текстового файла матрицу 5x5 для продолжения работы уже с матрицей. Только операции работы с файлами нужно языка Си...
Решение задачи: «Прочитать матрицу из файла»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #define SIZE 5 int main(int argc, char ** argv) { int matrix[SIZE][SIZE]; int i, j; FILE * file = fopen("E:\\matrix.txt", "r"); if (!file) exit(EXIT_FAILURE); for(i = 0; i < SIZE && !feof(file); i++) { for(j = 0; j < SIZE && !feof(file); j++) { fscanf(file, "%d", &matrix[i][j]); printf("%d ", matrix[i][j]); } putchar('\n'); } fclose(file); return (EXIT_SUCCESS); }
Объяснение кода листинга программы
Объяснение:
- #include
, #include - подключают необходимые библиотеки для работы с вводом/выводом и обработкой ошибок. - #define SIZE 5 - определяет размер матрицы.
- int main(int argc, char argv)** - объявляет точку входа в программу.
- int matrix[SIZE][SIZE] - объявляет двумерный массив (матрицу) типа int размером SIZE на SIZE.
- int i, j; - объявляет переменные для циклов.
- *FILE file = fopen(
E:\\matrix.txt
,r
);** - открывает файлmatrix.txt
для чтения. - if (!file) - проверяет, открылся ли файл. Если нет, то программа завершается с ошибкой.
- for(i = 0; i < SIZE && !feof(file); i++) { - цикл по первым SIZE строкам матрицы.
- for(j = 0; j < SIZE && !feof(file); j++) { - цикл по первым SIZE столбцам матрицы.
- fscanf(file,
%d
, &matrix[i][j]); - считывает из файла целочисленное значение и сохраняет его в соответствующую ячейку матрицы. - printf(
%d
, matrix[i][j]); - выводит значение ячейки матрицы на экран. - putchar('\n'); - переносит строку на новую строку.
- fclose(file); - закрывает файл.
- return (EXIT_SUCCESS); - возвращает успешный статус программы.
В результате выполнения программы, матрица будет прочитана из файла
matrix.txt
и выведена на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д