Вопрос задан 25.06.2023 в 15:48. Предмет Информатика. Спрашивает Остапенко Аделина.

Заполните массив случайными числами в интервале [-100,100] и переставить элементы так, чтобы все

положительные элементы стояли в начале массива, а все отрицательные и нули-в конце. Вычислите количество положительных элементов. через паскаль
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Лысенко Александр.

Ответ:

pascalABC

Объяснение:

var

 a: array of integer;

 i, j, n, k: integer;

begin

 Write('Введите размер массива: '); ReadLn(n);

 SetLength(a, n);

 Randomize();

 for i := 0 to n - 1 do begin

   a[i] := random(201) - 100;

   if a[i] > 0 then inc(k);

 end;

 for i := 0 to n - 2 do begin

   if a[i] > 0 then continue;

   for j := i + 1 to n - 1 do begin

     if a[j] > 0 then begin

       swap(a[i], a[j]);  //перестановка элементов местами

       break;

     end;  

   end;

 end;

 for i := 0 to n - 1 do Write(a[i], ', '); WriteLn;

 WriteLn('В массиве ', k, ' положительных элементов.');

end.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вот пример кода на языке Pascal, который создает массив случайных чисел в интервале [-100, 100], переставляет элементы массива так, чтобы положительные элементы были в начале, а отрицательные и нули - в конце, и вычисляет количество положительных элементов:

pascal
program RandomArraySort; const N = 20; // Размер массива var arr: array[1..N] of integer; i, j, temp, positiveCount: integer; begin randomize; // Заполняем массив случайными числами в интервале [-100, 100] for i := 1 to N do arr[i] := random(201) - 100; // Выводим исходный массив writeln('Исходный массив:'); for i := 1 to N do write(arr[i], ' '); positiveCount := 0; // Переставляем элементы массива i := 1; j := N; while i <= j do begin if arr[i] <= 0 then begin // Нашли отрицательный элемент или ноль temp := arr[i]; arr[i] := arr[j]; arr[j] := temp; j := j - 1; end else begin // Нашли положительный элемент positiveCount := positiveCount + 1; i := i + 1; end; end; // Выводим переставленный массив writeln; writeln('Переставленный массив:'); for i := 1 to N do write(arr[i], ' '); writeln; writeln('Количество положительных элементов: ', positiveCount); end.

Обратите внимание, что в этом примере размер массива задан как 20 (N = 20), и вы можете изменить его в соответствии с вашими потребностями.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос