• Решите задачи в Паскале, пожалуйста.
    1)Дан массив, отсортировать все его элементы до максимального по возрастанию.
    2)Дан массив, отсортировать все его элементы от минимального по возрастанию.
    3)Дан массив, отсортировать все его элементы от максимального до минимального по убыванию.
    МЕТОДОМ ПУЗЫРЬКА

Ответы 1

  • 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 
    • Автор:

      toddpxw0
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years