kjhf2225
26.04.2022 21:45

Const

N = 10;

Var

a: array[1..N] of integer;

i: integer;

num: integer

j: integer;

buf: integer

k: integer;

begin

for k:=1 to N do begin

write('a[',k,']= '); readln(a[k]);

end;

writeln('исходный массив:');

for k:=1 to N do write(a[k]:5); writeln;

writeln('сортировка');

for i:=1 to N-1 do begin

num:=i;

for j:=i+1 to N do

if a[j]
buf:=a[i]; a[i]:=a[num]; a[num]:=buf;

for k:=1 to N do write(a[k]:5); writeln;

end;

writeln('отсортированный массив:');

for k:=1 to N do write(a[k]:5); writeln;

readln;

end.

Во Определить метод сортировки.

2. Возможно ли применить данный метод сортировки для сортировки массивов по возрастанию, так и для сортировки массивов по убыванию?

3. Опишите последовательность действий и реализуйте их в программе, если ответ на второй во будет положительным.

4. Реализуйте программу для массива: [-8; 14; -5; 36; 99; 45]. Представить результаты

5. Составить алгоритм работы представленной программы в словесной форме.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Jirnyi
11.05.2021 04:21
PascalABC.NET 3.4.2, сборка 1884 от 24.11.2018Внимание! Если программа не работает, обновите версию!

begin

 var n := ReadInteger;

 var L := new List<(integer, integer)>;

 loop n do

 begin

   L.Add(ReadInteger2)

 end;

 var k := L.Count;

 L := L.Distinct.ToList; // этап 1

 var k1 := L.Count;

 Print(k - k1);

 (k, k1) := (k1, 0); // этап 2

 var St := new Stack<integer>;

 var m := L.First[0]; // время

 for var i := 1 to k - 1 do

   if L[i][0] <= m then

   begin

     St.Push(i);

     Inc(k1)

   end

   else m := L[i][0];

 for var i := 1 to k1 do

   L.RemoveAt(St.Pop);

 Print(k1);

 (k, k1) := (L.Count, 0); // этап 3

 m := L.First[1]; // температура

 for var i := 1 to k - 1 do

   if Abs(L[i][1] - m) > 10 then

   begin

     St.Push(i);

     Inc(k1)

   end

   else m := L[i][1];

 for var i := 1 to k1 do

   L.RemoveAt(St.Pop);

 Println(k1);

end.

Пример610 58 58 58 512 2513 102 1 1
0,0(0 оценок)
Ответ:
ДмитрийJ
11.05.2021 04:21
PascalABC.NET 3.4.2, сборка 1884 от 24.11.2018Внимание! Если программа не работает, обновите версию!

begin

 var n := ReadInteger;

 var L := new List<(integer, integer)>;

 loop n do

 begin

   L.Add(ReadInteger2)

 end;

 var k := L.Count;

 L := L.Distinct.ToList; // этап 1

 var k1 := L.Count;

 Print(k - k1);

 (k, k1) := (k1, 0); // этап 2

 var St := new Stack<integer>;

 var m := L.First[0]; // время

 for var i := 1 to k - 1 do

   if L[i][0] <= m then

   begin

     St.Push(i);

     Inc(k1)

   end

   else m := L[i][0];

 for var i := 1 to k1 do

   L.RemoveAt(St.Pop);

 Print(k1);

 (k, k1) := (L.Count, 0); // этап 3

 m := L.First[1]; // температура

 for var i := 1 to k - 1 do

   if Abs(L[i][1] - m) > 10 then

   begin

     St.Push(i);

     Inc(k1)

   end

   else m := L[i][1];

 for var i := 1 to k1 do

   L.RemoveAt(St.Pop);

 Println(k1);

end.

Пример610 58 58 58 512 2513 102 1 1
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота