Двумерный массив из файла - Turbo Pascal (29105)
Формулировка задачи:
Всем добрый день,помогите с решением задачи.
Двумерный квадратный массив целых считывается из текстового файла. Программа выводит квадратный массив в консольное окно, выдает информацию о его размере, количестве положительных и отрицательных элементов.
Решение задачи: «Двумерный массив из файла»
textual
Листинг программы
uses crt; var a:array[1..20,1..20] of integer; f:text; s:string; n,i,j,kp,ko:integer; begin clrscr; assign(f,'input.txt');{файл в папке с программой} reset(f); {определим размер=количествл строк} n:=0; while not eof(f) do begin readln(f,s); n:=n+1; end; close(f); kp:=0; ko:=0; reset(f); for i:=1 to n do begin for j:=1 to n do begin read(f,a[i,j]); write(a[i,j]:4); if a[i,j]>0 then kp:=kp+1 else if a[i,j]<0 then ko:=ko+1; end; writeln; end; close(f); writeln('Размер матрицы=',n); writeln('Количество положительных=',kp); writeln('Количество отрицательных=',ko); readln end.
Объяснение кода листинга программы
- В начале кода подключается библиотека crt, которая содержит функции для работы с файлами.
- Объявляются переменные: a - двумерный массив целых чисел размером от 1 до 20 строк и 1 до 20 столбцов; f - файл для чтения и записи; s - строка для чтения из файла; n - количество строк в массиве; i, j, kp, ko - переменные для хранения текущего значения i, j, kp и ko соответственно.
- Запускается функция clrscr, которая очищает экран.
- Задается значение переменной f как 'input.txt' - имя файла для чтения и записи.
- Запускается функция reset(f), которая готовит файл к чтению.
- Вычисляется количество строк в массиве n.
- Запускается цикл while, который читает строки из файла до конца файла или до тех пор, пока не будет достигнут конец файла (EOF).
- Для каждой прочитанной строки увеличивается значение n на 1.
- После окончания чтения файла закрывается файл с помощью функции close(f).
- Инициализируются переменные kp и ko для отслеживания количества положительных и отрицательных чисел в матрице соответственно.
- Запускается цикл for, который проходит по каждой строке массива.
- Для каждой строки запускается вложенный цикл for, который проходит по каждому элементу массива.
- Читается значение элемента массива с помощью функции read(f, a[i,j]), где i - номер строки, а j - номер столбца.
- Выводится значение элемента массива с помощью функции write(a[i,j]:4), где i - номер строки, а j - номер столбца.
- Если значение элемента массива больше 0, то увеличивается значение kp на 1.
- Если значение элемента массива меньше 0, то увеличивается значение ko на 1.
- После окончания вложенного цикла выводится символ новой строки с помощью функции writeln.
- После окончания внешнего цикла выводится символ новой строки с помощью функции writeln.
- Выводится размер матрицы равный n.
- Выводится количество положительных чисел равное kp.
- Выводится количество отрицательных чисел равное ko.
- Запускается функция readln, которая ожидает ввода пользователя.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д