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

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

Ответ:
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.



Конечно, вот пример программы на языке Pascal, которая выполняет задачу, которую вы описали:
pascalprogram RearrangeArray; const N = 10; // Размер массива var arr: array[1..N] of integer; i, temp, positiveCount: integer; begin // Заполняем массив случайными числами в интервале [-100, 100] Randomize; for i := 1 to N do arr[i] := Random(201) - 100; // Выводим исходный массив writeln('Исходный массив:'); for i := 1 to N do write(arr[i], ' '); // Переставляем элементы так, чтобы положительные были в начале, отрицательные и нули - в конце positiveCount := 0; for i := 1 to N do begin if arr[i] > 0 then begin positiveCount := positiveCount + 1; temp := arr[i]; arr[i] := arr[positiveCount]; arr[positiveCount] := temp; end; end; // Выводим переставленный массив writeln; writeln('Массив после перестановки:'); for i := 1 to N do write(arr[i], ' '); // Выводим количество положительных элементов writeln; writeln('Количество положительных элементов: ', positiveCount); readln; end.
Эта программа создает массив из 10 случайных чисел в интервале [-100, 100], переставляет положительные элементы в начало массива, а отрицательные и нули - в конец. Количество положительных элементов выводится на экран. Не забудьте настроить размер массива (N), как вам необходимо.


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







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili