Вывести элементы матрицы, записанной в файле, на экран змейкой - C (СИ)
Формулировка задачи:
дан двумерный массив. вывести на экран его элементы, сначала элементы первой строки справа налево, затем второй строки с права налево и т.п.
Решение задачи: «Вывести элементы матрицы, записанной в файле, на экран змейкой»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #include <locale.h>
- #define MAX_SIZE 10
- int main(void)
- {
- setlocale(LC_ALL, "Rus");
- printf ("Введите высоту массива: ");
- int hight;// Высота >> Строки
- scanf ("%d", &hight);
- printf ("Введите ширину массива: ");
- int weight;// Ширина >> Столбцы
- scanf ("%d", &weight);
- int i, j, n = 0;// n - заполняет ячейки с шагом +1 с каждым входом в цикл
- int arr[MAX_SIZE][MAX_SIZE];// MAX_SIZE - если ставить больше, то %2d менять на %3d
- printf("\nЗаполение массива из файла и вывод:\n\n");
- FILE * base = fopen("base.txt","r");
- if(!base) printf("Файл не найден!\n");
- else{
- for( i = 0; i < hight; i++){
- for( j = 0; j < weight; j++, n++){
- fscanf(base, "%d", &arr[i][j]);
- printf(" %2d", arr[i][j]);
- }
- printf("\n");
- }
- fclose(base);
- printf("\nВывод массива змейкой:\n");
- for( i = 0; i < hight; i++){
- if(i%2==0){
- for( j = 0; j < weight; j++) printf(" %2d", arr[i][j]);
- }
- if(i%2==1){
- for( j = weight-1; j > EOF; j--) printf(" %2d", arr[i][j]);
- }
- printf("\n");
- }
- }
- return 0;
- }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и вводом-выводом.
- Объявление константы, определяющей максимальный размер матрицы.
- Ввод высоты и ширины матрицы с помощью функции scanf().
- Объявление переменных i, j, n, которые будут использоваться в программе.
- Создание двумерного массива arr[MAX_SIZE][MAX_SIZE] для хранения данных из файла.
- Открытие файла
base.txt
с помощью функции fopen() для чтения данных. - Проверка на успешное открытие файла, если файл не найден, выводится сообщение об ошибке.
- Заполнение матрицы данными из файла с помощью цикла for и функции fscanf().
- Вывод заполненной матрицы на экран с помощью цикла for и функции printf().
- Вывод матрицы змейкой с помощью двух вложенных циклов for и функции printf().
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д