Advertisement
Guest User

Untitled

a guest
Jun 24th, 2019
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. type mas=array of integer;
  2. procedure massiv(var a:mas;n,k:integer);
  3. var i:integer;
  4. begin
  5. setlength(a,n);
  6. writeln('Исходный массив номер ',k);
  7. for i:=0 to n-1 do
  8. begin
  9. a[i]:=random(1000);
  10. write(a[i]:4)
  11. end;
  12. writeln;
  13. end;
  14. procedure sort_bouble(var a:mas;n:int
  15. eger;var p:integer) ;
  16. var i,k,x:integer;
  17. begin
  18. writeln('Сортировка пузырьком');
  19. p:=0;
  20. for k:=0 to n-2 do
  21. for i:=0 to n-2 do
  22. if a[i]>a[i+1] then
  23. begin
  24. inc(p);
  25. x:=a[i];
  26. a[i]:=a[i+1];
  27. a[i+1]:=x
  28. end;
  29. for i:=0 to n-1 do
  30. write(a[i]:4);
  31. writeln;
  32. writeln('Количество перестановок=',p)
  33. end;
  34. procedure sort_vyb(var a:mas;n:integer;var p:integer);
  35. var i,j,k,x:integer;
  36. begin
  37. writeln('Сортировка выбором');
  38. for i:=0 to n-2 do
  39. begin
  40. k:=i;
  41. for j:=i+1 to n-1 do
  42. if a[j]<a[k] then k:=j;
  43. inc(p);
  44. x:=a[i];
  45. a[i]:=a[k];
  46. a[k]:=x;
  47. end;
  48. for i:=0 to n-1 do
  49. write(a[i]:4);
  50. writeln;
  51. writeln('Количество перестановок=',p)
  52. end;
  53.  
  54. var i,p1,p2,pb,pv:integer;
  55. a,a1:mas;
  56. begin
  57. randomize;
  58. pb:=0;
  59. pv:=0;
  60. for i:=1 to 5 do
  61. begin
  62. massiv(a,1000,i);
  63. a1:=a;
  64. writeln('Нажмите Enter для продолжения');
  65. readln;
  66. sort_bouble(a,1000,p1);
  67. inc(pb,p1);
  68. writeln('Нажмите Enter для продолжения');
  69. readln;
  70. sort_vyb(a1,1000,p2);
  71. inc(pv,p2);
  72. writeln('Нажмите Enter для продолжения');
  73. readln
  74. end;
  75. pb:=round(pb/5);
  76. pv:=round(pv/5);
  77. writeln('Среднее число перестановок:');
  78. writeln('- пузырек=',pb);
  79. writeln('- выбор=',pv);
  80. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement