Отсортировать строки массива по убыванию - Pascal
Формулировка задачи:
В текстовом файле в табличном виде расположен массив целых чисел 5*5. Отсортировать каждую строку массива по убыванию и дописать отсортированный массив файл.
Решение задачи: «Отсортировать строки массива по убыванию»
textual
Листинг программы
const n=5;
var f:text;
a:array [1..n,1..n] of integer;
i,j,k,x:integer;
begin
assign(f,'matrix.txt');
reset(f);
for i:=1 to n do
for j:=1 to n do
read(f,a[i,j]);
for i:=1 to n do
for j:=1 to n-1 do
for k:=j+1 to n do
if a[i,j]<a[i,k] then
begin
x:=a[i,j];
a[i,j]:=a[i,k];
a[i,k]:=x;
end;
append(f);
writeln(f,'');
for i:=1 to n do
begin
for j:=1 to n do
write(f,a[i,j]:4);
writeln(f);
end;
close(f);
write('Матрица прочитана,отсортирована и дописана в файл matrix.txt')
end.
Объяснение кода листинга программы
- Объявляется константа
nсо значением 5. - Объявляется файл
fдля работы с текстовым файлом. - Объявляется массив
aразмером 5х5 для хранения целочисленных значений. - Объявляются переменные цикла
i,j,k,xдля управления циклами и временного хранения значений. - Открывается файл
matrix.txtдля чтения. - Считываются значения из файла в массив
a. - Проводится сортировка значений в каждой строке массива по убыванию.
- Создается и открывается файл
matrix.txtдля записи. - Отсортированные значения записываются в файл
matrix.txt. - Файл
fзакрывается. - Выводится сообщение
Матрица прочитана, отсортирована и дописана в файл matrix.txt.