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

+860 голосов
4.2m просмотров

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


Информатика | 4.2m просмотров
+115

паскаль

+82

А на каком языке всё это?

Дано ответов: 2
+166 голосов

Ответ:

Объяснение:

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.

(1.4k баллов)
+173

Ну я имел в виду языки, более часто применяемые именно в промышленной разработке.

+189

"с паскаля на нормальный язык" - мне послышалось, или Вы только что назвали PascalABC.NET "не нормальным"? ;)
Его ведь используют не только для обучения, но во многих других сферах, необязательно связанным напрямую с "профессиональным" программированием.

+163

Хорошо, я снимаю все вопросы и полностью согласен:) Пусть хоть один спор в интернете закончится определенностью.

+47

PascalABC.NET разрабатывается как учебный проект. Он сохраняет хоть и многословный, но простой и понятный синтаксис классического паскаль, но при этом даёт возможность человеку работать с .NET Framework и всеми его "плюшками", что позволяет в очень скором времени перейти с паскаля на нормальный язык, например C#.

+117

Впрочем, насаждать 2020 год дело благородное, и я полностью поддерживаю. А разнообразие ответов позволит спрашивающему выбрать тот, который больше подходит его индивидуальной ситуации

+167 голосов

Ответ:

--- PascalABC.NET 3.6.2 ---

begin

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

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

end.

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

(1.6k баллов)