Считать матрицу из файла - C (СИ)
Формулировка задачи:
Подскажите, пожалуйста, как считать матрицу 6 х 2 из файла a.txt и как эту же матрицу вывести в файл b.txt
Решение задачи: «Считать матрицу из файла»
textual
Листинг программы
- #include <stdio.h>
- int main()
- {
- const int rows = 2;
- const int cols = 6;
- int matrix[rows][cols];
- int i, j;
- FILE *out;
- FILE *file = fopen("a.txt", "r");
- out = fopen("b.txt", "w");
- for (i = 0; i < rows && !feof(file) && !ferror(file); i++)
- {
- for (j = 0; j < cols && !feof(file) && !ferror(file); j++)
- {
- if (!fscanf(file, "%d", &matrix[i][j]))
- {
- fprintf(stderr, "Error reading file");
- }
- fprintf(out, "%d ", matrix[i][j]);
- }
- fputc('\n', out);
- }
- return fclose(file) && fclose(out);
- }
Объяснение кода листинга программы
В этом коде:
- Задаются размеры матрицы: 2 строки и 6 столбцов.
- Создается двумерный массив
matrix
размером 2x6. - Открывается файл
a.txt
для чтения и файлb.txt
для записи. - Запускается цикл по всем элементам матрицы.
- Для каждого элемента сначала проверяется успешность чтения из файла
a.txt
, - Если чтение прошло успешно, то значение записывается в файл
b.txt
и выводится на экран. - После каждой строки матрицы выводится символ новой строки.
- После завершения чтения всех элементов закрываются файлы
a.txt
иb.txt
. - Возвращается значение, являющееся результатом закрытия файлов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д