М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Dasha200820
Dasha200820
13.09.2020 18:23 •  Информатика

Решите в паскале, . 1)дан массив, отсортировать все его элементы до максимального по возрастанию. 2)дан массив, отсортировать все его элементы от минимального по возрастанию. 3)дан массив, отсортировать все его элементы от максимального до минимального по убыванию. методом пузырька

👇
Ответ:
panerik6
panerik6
13.09.2020
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 
4,5(36 оценок)
Ответ:
OlaCoch
OlaCoch
13.09.2020
PascalABC.NET 3.3.5, сборка 1650 от 01.04.2018
Внимание! Если программа не работает, обновите версию!

procedure BubbleSort(a:array of integer;
    descending:Boolean:=False; // нужна ли сортировка по невозрастанию
    u:integer:=-1; // начальный индекс
    v:integer:=-1); // конечный индекс
// Простая пузырьковая сортировка элементов с индексами с u по v
begin
  // обеспечим корректность параметров u и v
  if u<0 then u:=0;
  var n:=a.Length;
  if (v<0) or (v>=n) then v:=n-1;
  if u>v then Swap(u,v)
  else if u=v then Exit;
  // собственно, сортировка
  if descending then begin // по невозрастанию
    for var i:=v-1 downto u do
      for var j:=u to i do
        if a[j]<a[j+1] then Swap(a[j],a[j+1])
    end
  else begin
    for var i:=v-1 downto u do // по неубыванию
      for var j:=u to i do
        if a[j]>a[j+1] then Swap(a[j],a[j+1])
    end
end;

begin
  Write(': ');
  var a:=ArrRandom;
  a.Println;
  var (imin,imax):=(a.IndexMin,a.IndexMax);
  var b:=Copy(a);
  Write('1: '); BubbleSort(b,False,0,imax); b.Println;
  b:=Copy(a);
  Write('2: '); BubbleSort(b,False,imin); b.Println;
  b:=Copy(a);
  Write('3: '); BubbleSort(b,True,imax,imin); b.Println
end.

Пример
 : 70 61 10 72 17 84 19 35 83 47
1: 10 17 61 70 72 84 19 35 83 47
2: 70 61 10 17 19 35 47 72 83 84
3: 70 61 84 72 17 10 19 35 83 47
4,4(66 оценок)
Открыть все ответы
Ответ:
irinakol30p00rgy
irinakol30p00rgy
13.09.2020

PROFIT?

 

program lol;
var
mas:array[1..20] of integer;
max,min,i:integer;
begin
randomize;
for i:=1 to 20 do
begin
mas[i]:=random(100);
writeln('Element #',i,': ',mas[i]);
end;
writeln;
for i:=1 to 20 do if mas[i] > max then max:=mas[i];
writeln('MAX: ',max);
min:=max;
for i:=1 to 20 do if mas[i] < min then min:=mas[i];
writeln('MIN: ',min);
writeln;
for i:=1 to 20 do
if (mas[i] >= min) and (mas[i] <= max) and (mas[i] mod 5 = 0) and (mas[i] <> 0) then
writeln('Element #',i,': ', mas[i]);
readln;
end.

4,8(86 оценок)
Ответ:
Задай вопрос из школьного предмета 5-9 Математика 10+5 б есть 2014 одинаковых по виду монет и чашечные весы без гирек среди монет есть одна фальшивая,которая по весу отличается от настоящей предложите определить легче или тяжелее фальшивая монета чем настоящая за наименьшее число взвешиваний Попроси больше объяснений следить Отметить нарушение Ira05060 09.10.2014 ответы и объяснения CVita CVita главный мозг делим все монеты на две равные кучки по 1007 монет и проводим их взвешивание. каждая кучка покажет разный вес. 1007≠1007 (для примера левая легче) теперь из каждой из двух кучек откладываем по одной монете и делим их опять на две равные части по 503 монеты. получаем 4 кучки и 2 монетки. проводим попарное взвешивание. 503=503 503=503 1 монетка≠1 монетка в этом случае берем из любой кучки монетку и взвешиваем с любой из двух монеток. 503≠503 503=503 1=1 значит фальшивая монетка легче 503=503 503≠503 1=1 значит фальшивая монетка тяжелее.
4,6(87 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ