program Project5;
{$APPTYPE CONSOLE}

uses
SysUtils,
Math;

{ОБЪЯВЛЕНИЕ ФУНКЦИИ}// для использования кириллицы
function Rus(S:String):String;
var i:byte;
begin
Result:='';
for i:=1 to Length(S) do
case S[i] of
'А'..'п': Result:=Result+Chr(Ord(S[i])-64);
'р'..'я': Result:=Result+Chr(Ord(S[i])-16);
'Ё': Result:=Result+Chr(240);
'ё': Result:=Result+Chr(241);
else
Result:=Result+S[i];
end;
end;

const nmax=50;

var a,a1:array [1..nmax] of real;
i,j,k,n,m,imin,l:integer;
b,amin:real;
begin
writeln(('Введите количество элементов маccива N '));
readln(n);
writeln;
writeln(('Введите массив а'));
for i:=1 to n do read(a[i]);
writeln; writeln;
writeln(('Массив a:'));
writeln;
for i:=1 to n do write(a[i]:4:2, ' ':2);
writeln;
// Метод пузырька, по убыванию
for i:=1 to n do
a1[i]:=a[i];
k:=0;
for j:=1 to n-1 do
for i:=1 to n-1 do
if a1[i]a1[i]:=a1[i+1];
a1[i+1]:=b;
inc(k);
end;
writeln;
writeln(('Метод пузырька:'));
writeln;
writeln(('Массив a по убыванию'));
for i:=1 to n do
write(a1[i]:4:2, ' ':2);
writeln;
write(('K='), k);
writeln; writeln;
// Медот пузырька, по возрастанию
for i:=1 to n do
a1[i]:=a[i];
k:=0;
for j:=1 to n-1 do
for i:=1 to n-1 do
if a1[i]>a1[i+1] then begin b:=a1[i];
a1[i]:=a1[i+1];
a1[i+1]:=b;
inc(k);
end;
writeln(('Массив a по возрастанию'));
for i:=1 to n do
write(a1[i]:4:2, ' ':2);
writeln;
write(('K= '), k);
writeln;
writeln;
writeln('Метод поиска наибольшего и наименьшего значения');
writeln;
//по возрастанию
for i:=1 to n do
a1[i]:=a[i];
k:=0;
for m:=1 to n-1 do
begin amin:=a1[m];
imin:=m;
l:=0;
for i:=m+1 to n do
if a1[i]imin:=i;
inc(l);
end;
a1[imin]:=a1[m];
a1[m]:=amin;
if l<>0 then inc(k);
end;
writeln('Массив a по возрастанию');

for i:=1 to n do
write(a1[i]:4:2, ' ':2);
writeln;
write(('К= '), k);
writeln;writeln;
// по убыванию
for i:=1 to n do
a1[i]:=a[i];
k:=0;
for m:=1 to n-1 do
begin amin:=a1[m];
imin:=m;
l:=0;
for i:=m+1 to n do
if a1[i]>amin then begin amin:=a1[i];
imin:=i;
inc(l);
end;
a1[imin]:=a1[m];
a1[m]:=amin;
if l<>0 then inc(k);
end;
writeln('Массив a по убыванию');

for i:=1 to n do
write(a1[i]:4:2, ' ':2);
writeln;
write(('К= '), k);
readln; readln;

end.





Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.