Тема: Рекурсия
Показать сообщение отдельно
  #1  
Старый 19.12.2015, 21:50
Appolinariya_ Appolinariya_ вне форума
Прохожий
 
Регистрация: 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.
Ответить с цитированием