Решите задачи в Паскале, пожалуйста.
1)Дан массив, отсортировать все его элементы до максимального по возрастанию.
2)Дан массив, отсортировать все его элементы от минимального по возрастанию.
3)Дан массив, отсортировать все его элементы от максимального до минимального по убыванию.
МЕТОДОМ ПУЗЫРЬКА
Ответы на вопрос
Ответил petyaGavrikov
0
1.
const n=20;
var
a:array[1..n] of integer;
max,imax,i,j,t:integer;
begin
Randomize;
Writeln('Исходный массив:');
for i:=1 to n do begin
a[i]:=Random(51)-25;
Write(a[i],' ')
end;
Writeln;
max:=a[1]; imax:=1;
for i:=2 to n do
if a[i]>max then begin max:=a[i]; imax:=i; end;
writeln('max = ',max);
for i:=1 to imax-1 do
for j:=1 to imax-i do
if a[j]>a[j+1] then
begin t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t end;
Writeln('Отсортированный массив:');
for i:=1 to n do Write(a[i],' ');
Writeln;
end.
Пример:
Исходный массив:
-5 -17 -19 4 -10 16 21 -23 22 24 -5 19 11 -24 6 -25 13 3 9 0
max = 24
Отсортированный массив:
-23 -19 -17 -10 -5 4 16 21 22 24 -5 19 11 -24 6 -25 13 3 9 0
2.
const n=20;
var
a:array[1..n] of integer;
min,imin,i,j,t:integer;
begin
Randomize;
Writeln('Исходный массив:');
for i:=1 to n do begin
a[i]:=Random(51)-25;
Write(a[i],' ');
end;
Writeln;
min:=a[1]; imin:=1;
for i:=2 to n do
if a[i]<min then begin min:=a[i]; imin:=i; end;
writeln('min = ',min);
for i:=1 to n-imin-1 do
for j:=imin to n-i do
if a[j]>a[j+1] then
begin t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t end;
Writeln('Отсортированный массив:');
for i:=1 to n do Write(a[i],' ');
Writeln;
end.
Пример:
Исходный массив:
3 -24 -16 -9 -25 3 -25 17 -22 -3 8 2 -7 -8 -8 -24 -23 12 24 -24
min = -25
Отсортированный массив:
3 -24 -16 -9 -25 -25 -24 -24 -23 -22 -8 -8 -7 -3 2 3 8 12 17 24
3.
const n=20;
var
a:array[1..n] of integer;
max,imax,min,imin,i,j,t:integer;
begin
Randomize;
Writeln('Исходный массив:');
for i:=1 to n do begin
a[i]:=Random(51)-25;
Write(a[i],' ')
end;
Writeln;
max:=a[1]; imax:=1;
min:=a[1]; imin:=1;
for i:=2 to n do
begin
if a[i]>max then begin max:=a[i]; imax:=i; end;
if a[i]<min then begin min:=a[i]; imin:=i; end;
end;
writeln('max = ',max,' min = ',min);
if imax>imin then begin
for i:=1 to imax-imin-1 do
for j:=imin to imax-i do
if a[j]>a[j+1] then
begin t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t end
end else begin
for i:=1 to imin-imax-1 do
for j:=imax to imin-i do
if a[j]<a[j+1] then
begin t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t end; end;
Writeln('Отсортированный массив:');
for i:=1 to n do Write(a[i],' ');
Writeln;
end.
Пример:
Исходный массив:
-12 13 1 -17 -13 -10 23 5 8 -11 -9 -2 17 19 10 -5 14 10 -20 -9
max = 23 min = -20
Отсортированный массив:
-12 13 1 -17 -13 -10 23 19 17 14 10 10 8 5 -2 -5 -9 -11 -20 -9
const n=20;
var
a:array[1..n] of integer;
max,imax,i,j,t:integer;
begin
Randomize;
Writeln('Исходный массив:');
for i:=1 to n do begin
a[i]:=Random(51)-25;
Write(a[i],' ')
end;
Writeln;
max:=a[1]; imax:=1;
for i:=2 to n do
if a[i]>max then begin max:=a[i]; imax:=i; end;
writeln('max = ',max);
for i:=1 to imax-1 do
for j:=1 to imax-i do
if a[j]>a[j+1] then
begin t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t end;
Writeln('Отсортированный массив:');
for i:=1 to n do Write(a[i],' ');
Writeln;
end.
Пример:
Исходный массив:
-5 -17 -19 4 -10 16 21 -23 22 24 -5 19 11 -24 6 -25 13 3 9 0
max = 24
Отсортированный массив:
-23 -19 -17 -10 -5 4 16 21 22 24 -5 19 11 -24 6 -25 13 3 9 0
2.
const n=20;
var
a:array[1..n] of integer;
min,imin,i,j,t:integer;
begin
Randomize;
Writeln('Исходный массив:');
for i:=1 to n do begin
a[i]:=Random(51)-25;
Write(a[i],' ');
end;
Writeln;
min:=a[1]; imin:=1;
for i:=2 to n do
if a[i]<min then begin min:=a[i]; imin:=i; end;
writeln('min = ',min);
for i:=1 to n-imin-1 do
for j:=imin to n-i do
if a[j]>a[j+1] then
begin t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t end;
Writeln('Отсортированный массив:');
for i:=1 to n do Write(a[i],' ');
Writeln;
end.
Пример:
Исходный массив:
3 -24 -16 -9 -25 3 -25 17 -22 -3 8 2 -7 -8 -8 -24 -23 12 24 -24
min = -25
Отсортированный массив:
3 -24 -16 -9 -25 -25 -24 -24 -23 -22 -8 -8 -7 -3 2 3 8 12 17 24
3.
const n=20;
var
a:array[1..n] of integer;
max,imax,min,imin,i,j,t:integer;
begin
Randomize;
Writeln('Исходный массив:');
for i:=1 to n do begin
a[i]:=Random(51)-25;
Write(a[i],' ')
end;
Writeln;
max:=a[1]; imax:=1;
min:=a[1]; imin:=1;
for i:=2 to n do
begin
if a[i]>max then begin max:=a[i]; imax:=i; end;
if a[i]<min then begin min:=a[i]; imin:=i; end;
end;
writeln('max = ',max,' min = ',min);
if imax>imin then begin
for i:=1 to imax-imin-1 do
for j:=imin to imax-i do
if a[j]>a[j+1] then
begin t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t end
end else begin
for i:=1 to imin-imax-1 do
for j:=imax to imin-i do
if a[j]<a[j+1] then
begin t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t end; end;
Writeln('Отсортированный массив:');
for i:=1 to n do Write(a[i],' ');
Writeln;
end.
Пример:
Исходный массив:
-12 13 1 -17 -13 -10 23 5 8 -11 -9 -2 17 19 10 -5 14 10 -20 -9
max = 23 min = -20
Отсортированный массив:
-12 13 1 -17 -13 -10 23 19 17 14 10 10 8 5 -2 -5 -9 -11 -20 -9
Новые вопросы
История,
2 года назад
Математика,
2 года назад
Литература,
8 лет назад
Алгебра,
8 лет назад
Математика,
9 лет назад