Скопировать элементы файла в квадратную матрицу размером - PascalABC.NET

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

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

Дан типизированный файл, содержащий символы. Скопировать элементы этого файла в квадратную матрицу размером n×n (если элементов файла недостает, заполнить оставшиеся элементы матрицы символом «точка»). Поменять местами в каждой строке минимальный и максимальный элементы.

Решение задачи: «Скопировать элементы файла в квадратную матрицу размером»

textual
Листинг программы
var f:file of char;
    a:array[,] of char;
    c:char;
    n,i,j,k,jmx,jmn: integer;
begin
//создадим типизированный файл
assign(f,'SPISOK');//файл в папке с программой
rewrite(f);
writeln('Введите в файл не менее 4 символов, окончание ввода 0');
i:=0;
repeat
readln(c);
inc(i);
write(f,c);
until(i>3)and(c='0');
reset(f);
n:=filesize(f);
while frac(sqrt(n))<>0 do n:=n+1;
n:=round(sqrt(n));
setlength(a,n,n);
k:=0;
writeln('Исходная матрица');
for i:=0 to n-1 do
 begin
  for j:=0 to n-1 do 
   begin
    k:=k+1;
    if k<filesize(f) then read(f,a[i,j])
    else a[i,j]:='.';
    write(a[i,j]:2);
   end;
  writeln;
 end;
close(f);
for i:=0 to n-1 do
 begin
  jmn:=0;
  jmx:=0;
  for j:=1 to n-1 do
   begin
    if a[i,j]<a[i,jmn] then jmn:=j;
    if a[i,j]>a[i,jmx] then jmx:=j;
   end;
  c:=a[i,jmn];
  a[i,jmn]:=a[i,jmx];
  a[i,jmx]:=c;
 end;
writeln('Обмен минимального и максимального в строках');
for i:=0 to n-1 do
 begin
  for j:=0 to n-1 do
  write(a[i,j]:2);
  writeln;
 end; 
end.

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

Список действий в коде:

  1. Создание файла и его открытие для записи.
  2. Ввод данных в файл с помощью цикла и операции чтения.
  3. Закрытие файла после ввода всех данных.
  4. Определение размера файла и вычисление квадратного корня из этого значения.
  5. Создание квадратной матрицы с помощью операции присваивания и операции чтения из файла.
  6. Вывод исходной матрицы на экран с помощью двойного цикла и операции вывода.
  7. Обмен минимального и максимального значения в каждой строке матрицы с помощью двойного цикла и операции обмена значений.
  8. Вывод обновленной матрицы на экран с помощью операции вывода.
  9. Закрытие программы.

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


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

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

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