Pascal!!!В одномерном массиве размерностью n=10 отсортировать по возрастанию четные элементы массива.Вывести исходный и измененный массив.Можно использовать любой метод сортировки.
Answers & Comments
Pelageya
Program massiv; uses crt; type matr=array[1..10] of integer; var a: matr; procedure vvod(var a:matr); var i: integer; begin for i:=1 to 10 do begin write ('Введите элемент массива a[',i,']'); readln(a[i]); end; end; procedure ivyvod(var a: matr); var i: integer; begin write ('Исходный массив '); for i:=1 to 10 do write (a[i],' '); writeln; end; procedure sort(var a:matr); var i,j,min: byte; vsp: integer; begin for i:=1 to 9 do begin min:=i; for j:=i+1 to 10 do if a[j]<a[min] then min:=j; vsp:=a[i]; a[i]:=a[min]; a[min]:=vsp; end; end; procedure vyvod(a:matr); var i:integer; begin write('Отсортированная последовательность массива '); for i:=1 to 10 do begin if a[i] mod 2 = 0 then write(' ',a[i]); end; end; begin vvod(a); ivyvod(a); sort(a); vyvod(a); end.
1 votes Thanks 0
granat73granat
а по другому сделать никак?Просто это мы еще не проходили,прошли 2 метода: 1)Сортировка 2)и еще какой-то Можешь сделать пузырьковым методом?
Answers & Comments
uses crt;
type
matr=array[1..10] of integer;
var
a: matr;
procedure vvod(var a:matr);
var
i: integer;
begin
for i:=1 to 10 do
begin
write ('Введите элемент массива a[',i,']');
readln(a[i]);
end;
end;
procedure ivyvod(var a: matr);
var i: integer;
begin
write ('Исходный массив ');
for i:=1 to 10 do
write (a[i],' ');
writeln;
end;
procedure sort(var a:matr);
var
i,j,min: byte; vsp: integer;
begin
for i:=1 to 9 do
begin
min:=i;
for j:=i+1 to 10 do
if a[j]<a[min] then min:=j;
vsp:=a[i]; a[i]:=a[min]; a[min]:=vsp;
end;
end;
procedure vyvod(a:matr);
var
i:integer;
begin
write('Отсортированная последовательность массива ');
for i:=1 to 10 do
begin
if a[i] mod 2 = 0 then write(' ',a[i]);
end;
end;
begin
vvod(a);
ivyvod(a);
sort(a);
vyvod(a);
end.
1)Сортировка
2)и еще какой-то
Можешь сделать пузырьковым методом?