Const n=10; var i,j,mn,mnin,k,ind: integer; a: array[1..n] of integer; begin writeln('исходный массив:'); randomize; for i:=1 to n do begin a[i]:=random(-n,n); write(a[i],' '); if ((a[i] mod 2)<>0) and (a[i]<>0) then ind:=i; end; writeln; // сортировка for i:=1 to ind-2 do begin mn:=a[i]; mnin:=i; for j:=i to ind-1 do if a[j]<mn then begin mn:=a[j]; mnin:=j; end; k:=a[i]; a[i]:=a[mnin]; a[mnin]:=k; end; writeln('новый массив:'); for i:=1 to n do write(a[i],' '); end.
9 литровая бочка - 1 бочка 5 литровая бочка - 2 бочка сначала наливаем из 1 бочки во 2 бочку. в 1 бочке остаётся 4 литра. выливаем воду из 2 бочки. наливаем оставшиеся 4 литра из 1 бочки во 2 бочку. заново наливаем в 1 бочку 9 литров. доливаем 1 литр во 2 бочку и выливаем. в 1 бочке остаётся 8 литров. наливаем во 2 бочку 5 литров и выливаем. в 1 бочке остаётся 3 литра. наливаем 3 литра во 2 бочку, а в 1 бочку наливаем 9 литров. доливаем во 2 бочку 2 литра и выливаем. в 1 бочке остаётся 7 литров воды. наливаем из 1 бочки 5 литров во 2 бочку и выливаем воду из 2 бочки. в 1 бочке остаётся 2 литра, и наливаем эти 2 литра во 2 бочку. наливаем в 1 бочку 9 литров воды и доливаем во 2 бочку 3 литра. в 1 бочке остаётся 6 литров. готово
var i,j,mn,mnin,k,ind: integer;
a: array[1..n] of integer;
begin
writeln('исходный массив:');
randomize;
for i:=1 to n do
begin
a[i]:=random(-n,n);
write(a[i],' ');
if ((a[i] mod 2)<>0) and (a[i]<>0) then ind:=i;
end;
writeln;
// сортировка
for i:=1 to ind-2 do
begin
mn:=a[i]; mnin:=i;
for j:=i to ind-1 do
if a[j]<mn then
begin
mn:=a[j];
mnin:=j;
end;
k:=a[i];
a[i]:=a[mnin];
a[mnin]:=k;
end;
writeln('новый массив:');
for i:=1 to n do write(a[i],' ');
end.
исходный массив:
-10 -1 -5 3 -7 -10 1 1 -6 4
новый массив:
-10 -10 -7 -5 -1 1 3 1 -6 4
исходный массив:
-3 0 7 10 1 7 -3 5 -2 -2
новый массив:
-3 -3 0 1 7 7 10 5 -2 -2