Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program lab7;
- {$APPTYPE CONSOLE}
- uses
- Windows;
- const
- Nmax = 20;
- type mass= array [1..nmax] of real;
- var
- x: mass;
- Fin, Fout: TextFile;
- n, i,z: integer;
- method: integer;
- ind: integer;
- max: real;
- procedure FindMayonez (n:integer;var max :real;var x: mass);
- var i,z,f:integer;
- begin
- for z := n - 1 downto 1 do
- begin
- for i := 1 to z do
- if x[i] < x[i + 1] then
- begin
- max := x[i];
- x[i] := x[i + 1];
- x[i + 1] := max;
- end;
- write(Fout, 'Промежуточный вывод: ');
- for f := 1 to n do
- write(Fout, x[f]:5:1, ' ');
- writeln(Fout);
- end;
- end;
- begin
- setConsoleCP(1251);
- setConsoleOutputCP(1251);
- if ParamCount = 0 then
- begin
- writeln('Не заданы файлы для работы');
- write('PRESS ENTER…');
- readln;
- exit;
- end;
- AssignFile(Fin, ParamStr(1));
- Reset(Fin);
- AssignFile(Fout, ParamStr(2));
- Rewrite(Fout);
- writeln(Fout, 'Лабораторная работа 7. Вариант 11':40);
- { Ввод исходных данных }
- readln(Fin, n);
- for i := 1 to n do
- readln(Fin, x[i]);
- { Вывод исходных данных }
- writeln(Fout, 'Количество элементов n = ', n:2);
- write(Fout, 'X (изначальный вид): ');
- for i := 1 to n do
- write(Fout, x[i]:5:1, ' ');
- writeln(Fout);
- { Выбор метода }
- writeln('Выберите метод сортировки:');
- writeln('1 - сортировка пузырьком');
- writeln('2 - сортировка выбором');
- readln(method);
- writeln(fout,'Выбранный метод: ', method);
- case method of
- { Реализация алгоритма - Метод пузырька }
- 1:
- begin
- FindMayonez(n,max,x);
- write(Fout, 'Промежуточный вывод: ');
- for i := 1 to n do
- write(Fout, x[i]:5:1, ' ');
- writeln(Fout);
- end;
- { Реализация алгоритма - Метод выбора }
- 2:
- for z := n downto 2 do
- begin
- ind := z;
- for i := 1 to z do
- begin
- if x[i] < x[ind] then
- ind := i;
- max := x[z];
- x[z] := x[ind];
- x[ind] := max;
- end;
- write(Fout, 'Промежуточный вывод: ');
- for i := 1 to n do
- write(Fout, x[i]:5:1, ' ');
- writeln(Fout);
- end;
- else
- begin
- writeln('Неверный метод сортировки');
- write('PRESS ENTER…');
- CloseFile(Fout);
- CloseFile(Fin);
- readln;
- exit;
- end;
- end;
- { Вывод результатов }
- write(Fout, 'X (отсортированный): ');
- for i := 1 to n do
- write(Fout, x[i]:5:1, ' ');
- writeln(Fout);
- CloseFile(Fout);
- CloseFile(Fin);
- write('PRESS ENTER…');
- readln;
- end.
Add Comment
Please, Sign In to add comment