В файл записан квадратный массив, нужно прочитать главную диагональ не используя массив - Turbo Pascal
Формулировка задачи:
в файл записан квадратный массив,нужно прочитать главную диагональ не используя массив.Немогу понять как это сделать???Помогите пожалуйста....
Решение задачи: «В файл записан квадратный массив, нужно прочитать главную диагональ не используя массив»
textual
Листинг программы
uses crt; var f:text; n,a,i,j:integer; begin clrscr; assign(f,'1.txt'); reset(f); n:=0; while not eoln(f)do{прочитаем первую строку, определим размер матрицы} begin read(f,a); n:=n+1; end; close(f); reset(f); writeln('Элементы главной диагонали:'); i:=0;j:=0; while not eof(f) do{прочитаем весь сначала} begin read(f,a); j:=j+1;{считаем количество в строке} if j mod n=1 then{если n} begin i:=i+1;{новая строка} j:=1;{первый элемент} end; if j=i then write(a,' ');{если главная диагональ} end; close(f); readln end.
Объяснение кода листинга программы
- Создаётся файл '1.txt' для записи и чтения данных.
- Задаются переменные: f - файл, n - номер строки, a - номер столбца, i - номер элемента главной диагонали, j - номер элемента главной диагонали.
- Кнопка
clear screen
(очистить экран) активируется, чтобы очистить текущее окно. - Задаётся начальное значение переменной n.
- Запускается цикл while, который будет выполняться до тех пор, пока не будет достигнут конец файла.
- Внутри цикла происходит чтение первой строки из файла и увеличение значения переменной n на единицу.
- После завершения чтения первой строки файл закрывается и сбрасывается состояние файла.
- Задаётся начальное значение переменной i и j.
- Запускается цикл while, который будет выполняться до тех пор, пока не будет достигнут конец файла.
- Внутри цикла происходит чтение одной строки из файла, подсчитывается количество элементов в строке и увеличивается значение переменной j на единицу.
- Если значение j равно значению i, то записывается значение a в файл.
- Если значение j равно значению i, то сбрасываются значения переменных i и j и запускается новый цикл.
- После завершения чтения всех строк файл закрывается и выводится сообщение «Элементы главной диагонали:».
- Запускается цикл while, который будет выполняться до тех пор, пока не будет достигнут конец файла.
- Внутри цикла происходит чтение одной строки из файла и считывается количество элементов в строке.
- Если значение j равно значению i, то записывается значение a в файл.
- Если значение j равно значению i, то сбрасываются значения переменных i и j и запускается новый цикл.
- После завершения чтения всех строк файл закрывается и выводится сообщение «Элементы главной диагонали:».
- Выводится сообщение «Readln».
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д