Скопировать элементы файла в квадратную матрицу размером - 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.
Объяснение кода листинга программы
Список действий в коде:
- Создание файла и его открытие для записи.
- Ввод данных в файл с помощью цикла и операции чтения.
- Закрытие файла после ввода всех данных.
- Определение размера файла и вычисление квадратного корня из этого значения.
- Создание квадратной матрицы с помощью операции присваивания и операции чтения из файла.
- Вывод исходной матрицы на экран с помощью двойного цикла и операции вывода.
- Обмен минимального и максимального значения в каждой строке матрицы с помощью двойного цикла и операции обмена значений.
- Вывод обновленной матрицы на экран с помощью операции вывода.
- Закрытие программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д