Вывести элементы матрицы, записанной в файле, на экран змейкой - C (СИ)

Узнай цену своей работы

Формулировка задачи:

дан двумерный массив. вывести на экран его элементы, сначала элементы первой строки справа налево, затем второй строки с права налево и т.п.

Решение задачи: «Вывести элементы матрицы, записанной в файле, на экран змейкой»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <locale.h>
  4.  
  5. #define MAX_SIZE    10
  6.  
  7. int main(void)
  8. {
  9.     setlocale(LC_ALL, "Rus");
  10.     printf ("Введите высоту массива: ");
  11.     int hight;// Высота >> Строки
  12.     scanf ("%d", &hight);
  13.     printf ("Введите ширину массива: ");
  14.     int weight;// Ширина >> Столбцы
  15.     scanf ("%d", &weight);
  16.     int i, j, n = 0;// n - заполняет ячейки с шагом +1 с каждым входом в цикл
  17.     int arr[MAX_SIZE][MAX_SIZE];// MAX_SIZE - если ставить больше, то %2d менять на %3d
  18.     printf("\nЗаполение массива из файла и вывод:\n\n");
  19.     FILE * base = fopen("base.txt","r");
  20.     if(!base) printf("Файл не найден!\n");
  21.     else{
  22.         for( i = 0; i < hight; i++){
  23.             for( j = 0; j < weight; j++, n++){
  24.                 fscanf(base, "%d", &arr[i][j]);
  25.                 printf(" %2d", arr[i][j]);
  26.             }
  27.             printf("\n");
  28.         }
  29.         fclose(base);
  30.         printf("\nВывод массива змейкой:\n");
  31.         for( i = 0; i < hight; i++){
  32.             if(i%2==0){
  33.                 for( j = 0; j < weight; j++) printf(" %2d", arr[i][j]);
  34.             }
  35.             if(i%2==1){
  36.                 for( j = weight-1; j > EOF; j--) printf(" %2d", arr[i][j]);
  37.             }
  38.             printf("\n");
  39.         }
  40.     }
  41.     return 0;
  42. }

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

  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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы