Дан целочисленный массив из 23 элементов, заданных случайным образом. Вывести все содержащиеся в данном массиве нечетные числа в порядке возрастания, а также их количество К.

10RAM10 10RAM10    1   27.06.2020 21:14    1

Ответы
Маша923892 Маша923892  15.10.2020 15:00

Объяснение:

program odd;

var

arr1, arr2: array[1..23] of integer;

i, cnt, tmp, buffer: integer;

begin

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

   for i := 1 to 23 do

   begin

       arr1[i] := random(100);

       write(arr1[i], ' ');

   end;

   writeln();

   cnt := 0; //считем сколько нечетных, переносим в другой массив

   for i := 1 to 23 do

   begin

       if arr1[i] mod 2 <> 0 then

       begin

           cnt := cnt + 1;

           arr2[cnt] := arr1[i];

       end;

   end;

   //сортируем arr2 пузырьком

   for i := (cnt - 1) downto 1 do

   begin

       tmp := i;

       while ((tmp < cnt) and (arr2[tmp] > arr2[tmp + 1])) do

       begin

           //swap

           buffer := arr2[tmp];

           arr2[tmp] := arr2[tmp + 1];

           arr2[tmp + 1] := buffer;

           

           tmp := tmp + 1;

       end;

   end;

   Writeln('отсортированные нечетные:');

   for i := 1 to cnt do

       write(arr2[i], ' ');

   writeln();

   writeln('всего: ', cnt);

end.

ПОКАЗАТЬ ОТВЕТЫ
лох251 лох251  15.10.2020 15:00

--- PascalABC.NET 3.6.2 ---

begin

 var A := ArrRandom(23, -99,99);

 A.Where(p -> p mod 2 <> 0).Sorted.Println.Count.Println;

end.

Да, это полноценная работающая программа, решающая вашу задачу.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика