Вывести элементы матрицы, записанной в файле, на экран змейкой - 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;
}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек для работы с файлами и вводом-выводом.
  2. Объявление константы, определяющей максимальный размер матрицы.
  3. Ввод высоты и ширины матрицы с помощью функции scanf().
  4. Объявление переменных i, j, n, которые будут использоваться в программе.
  5. Создание двумерного массива arr[MAX_SIZE][MAX_SIZE] для хранения данных из файла.
  6. Открытие файла base.txt с помощью функции fopen() для чтения данных.
  7. Проверка на успешное открытие файла, если файл не найден, выводится сообщение об ошибке.
  8. Заполнение матрицы данными из файла с помощью цикла for и функции fscanf().
  9. Вывод заполненной матрицы на экран с помощью цикла for и функции printf().
  10. Вывод матрицы змейкой с помощью двух вложенных циклов for и функции printf().

Оцени полезность:

9   голосов , оценка 3.667 из 5
Похожие ответы