Отримання знань
дистанційна підтримка освіти школярів
Тут ви можете виконати завдання чи задати питання по змiсту цього уроку.
Михальов Володимир (StarRover) 2014-09-15 15:12:28
{Генеруем у файл n випадкових натуральних чисел з діапазону 1..max} var n,max,i,x:longint; f1:text; begin Assign(f1,'input.txt'); Rewrite(f1); Write('Введіть n -- '); ReadLn(n); Write('Введіть max -- '); ReadLn(max); Writeln(f1,n); Randomize; for i:=1 to n do begin x:=random(max)+1; Write(f1,x,' '); end; Close(f1); end. {Сортування обміном} const Nmax=10000; type aInt=array[1..Nmax] of longint; var n,i,j:longint; a:aInt; f1,f2:text; Procedure Swap(var x,y:longint); var f:longint; begin f:=x; x:=y; y:=f; end; begin Assign(f1,'input.txt'); Assign(f2,'output.txt'); Reset(f1); Rewrite(f2); Read(f1,n); for i:=1 to n do Read(f1,a[i]); for i:=n downto 2 do begin for j:=i to n do begin if a[j] then Swap(a[j],a[j-1]); end; end; for i:=1 to n do Write(f2,a[i],' '); Close(f1); Close(f2); end. {Сортування вставками} const Nmax=10000; type aInt=array[1..Nmax] of longint; var n,i,j,buf:longint; a:aInt; f1,f2:text; begin Assign(f1,'input.txt'); Assign(f2,'output.txt'); Reset(f1); Rewrite(f2); Read(f1,n); for i:=1 to n do Read(f1,a[i]); for i:=2 to n do begin buf:=a[i]; j:=i; while (j>1)and(a[j-1]>buf) do begin a[j]:=a[j-1]; j:=j-1; end; a[j]:=buf; end; for i:=1 to n do Write(f2,a[i],' '); Close(f1); Close(f2); end. |
Михальов Володимир (StarRover) 2014-09-17 15:23:59
{Сортування методом Шелла} const Nmax=100000; type aInt=array[1..Nmax] of longint; var n,i,j,buf,h:longint; a:aInt; f1,f2:text; begin Assign(f1,'input.txt'); Assign(f2,'output.txt'); Reset(f1); Rewrite(f2); Read(f1,n); for i:=1 to n do Read(f1,a[i]); h:=n div 2; while h>0 do begin for i:=h to n-h+1 do begin buf:=a[i]; j:=i; while (j>h)and(a[j-h]>buf) do begin a[j]:=a[j-h]; j:=j-h; end; a[j]:=buf; end; h:=h div 2; end; for i:=1 to n do Write(f2,a[i],' '); Close(f1); Close(f2); end. ------------------- Цікаво, що при сортуванні масиву 100000 чисел затрачено комп.часу: Сортування обміном -- ~50с Сортування вставками -- ~20с Сортуванням методом Шелла -- < 1с. |
В системі:
гості - (1); користувачі -
(0)