
19.12.2015, 21:50
|
Прохожий
|
|
Регистрация: 26.09.2015
Сообщения: 13
Версия Delphi: Delphi 7
Репутация: 10
|
|
Рекурсия
Помогите добавить рекурсию в сортировку простым выбором. Пожалуйста,очень срочно! И гляньте вывод исходного и полученного массива. нельзя портить исходные данные. Исходные в моей программе выводятся
Вот сама сортировка:
Код:
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
const
max=100;
type
mass=array[1..max] of integer;
var
i, j, n: integer;
A: mass;
flag:boolean;
procedure vvodposl(var a:mass;var n:integer);
var
fin: textfile;
i:integer;
begin
assignfile(fin,'f1.txt');
reset(fin);
readln(fin,n);
for i:=1 to n do
read(fin,a[i]);
close(fin);
end;
procedure vivodposl(const a:mass;var n:integer;flag:boolean);
var
i:integer;
fout:text;
begin
assign(fout,'f2.txt');
if flag then
rewrite(fout)
else
append(fout);
write(fout,'ÈñõîäГ*Г*Гї ïîñëåäîâГ*òåëüГ*îñòü: ');
for i:=1 to n do
write(fout,a[i]);
writeln(fout);
close(fout);
end;
procedure SelectionSort(A: mass; n: integer);
var
min, t: integer;
begin
for i:=1 to n do
begin
t:=A[i];
min:=i;
for j:=i+1 to n do
if (A[min]>A[j])then
min:=j;
if (min<>i) then
begin
A[i]:=A[min];
A[min]:=t;
end;
end;
end;
begin
vvodposl(a,n);
flag:=true;
vivodposl(a,n,flag);
SelectionSort(A,n);
flag:=false;
vivodposl(a,n,flag);
end.
|