В файл записан квадратный массив, нужно прочитать главную диагональ не используя массив - 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. Создаётся файл '1.txt' для записи и чтения данных.
  2. Задаются переменные: f - файл, n - номер строки, a - номер столбца, i - номер элемента главной диагонали, j - номер элемента главной диагонали.
  3. Кнопка clear screen (очистить экран) активируется, чтобы очистить текущее окно.
  4. Задаётся начальное значение переменной n.
  5. Запускается цикл while, который будет выполняться до тех пор, пока не будет достигнут конец файла.
  6. Внутри цикла происходит чтение первой строки из файла и увеличение значения переменной n на единицу.
  7. После завершения чтения первой строки файл закрывается и сбрасывается состояние файла.
  8. Задаётся начальное значение переменной i и j.
  9. Запускается цикл while, который будет выполняться до тех пор, пока не будет достигнут конец файла.
  10. Внутри цикла происходит чтение одной строки из файла, подсчитывается количество элементов в строке и увеличивается значение переменной j на единицу.
  11. Если значение j равно значению i, то записывается значение a в файл.
  12. Если значение j равно значению i, то сбрасываются значения переменных i и j и запускается новый цикл.
  13. После завершения чтения всех строк файл закрывается и выводится сообщение «Элементы главной диагонали:».
  14. Запускается цикл while, который будет выполняться до тех пор, пока не будет достигнут конец файла.
  15. Внутри цикла происходит чтение одной строки из файла и считывается количество элементов в строке.
  16. Если значение j равно значению i, то записывается значение a в файл.
  17. Если значение j равно значению i, то сбрасываются значения переменных i и j и запускается новый цикл.
  18. После завершения чтения всех строк файл закрывается и выводится сообщение «Элементы главной диагонали:».
  19. Выводится сообщение «Readln».
  20. Программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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