Составьте программу на языке Паскаль уровень B. Заполните массив случайными числами в диапазоне от 0 до 100. Затем

  • 38
Составьте программу на языке Паскаль уровень B. Заполните массив случайными числами в диапазоне от 0 до 100. Затем отфильтруйте и выберите все простые числа из исходного массива и поместите их в другой массив. Для определения, является ли число простым, используйте логическую функцию. Для примера: исходный массив A: 12 13 85 96 47, массив B: ...
Сверкающий_Пегас_7978
1
B:
var
A: array[1..10] of integer;
B: array[1..10] of integer;
i, j, n: integer;

function IsPrime(num: integer): boolean;
var
i: integer;
begin
IsPrime := True;

if num < 2 then
begin
IsPrime := False;
Exit;
end;

for i := 2 to Trunc(Sqrt(num)) do
begin
if num mod i = 0 then
begin
IsPrime := False;
Exit;
end;
end;
end;

begin
Randomize;

// Заполняем исходный массив случайными числами
for i := 1 to 10 do
A[i] := Random(101); // Генерируем случайное число от 0 до 100

// Выводим исходный массив
Write("Исходный массив A: ");
for i := 1 to 10 do
Write(A[i], " ");
Writeln;

// Фильтруем и выбираем простые числа в другой массив
j := 0;
for i := 1 to 10 do
begin
if IsPrime(A[i]) then // Проверяем, является ли число простым
begin
Inc(j);
B[j] := A[i];
end;
end;

// Выводим отфильтрованный массив
Write("Массив простых чисел B: ");
for i := 1 to j do
Write(B[i], " ");
Writeln;
end.

В этой программе мы используем функцию IsPrime для определения, является ли число простым. Она проверяет, делится ли число на любое число от 2 до его квадратного корня. Если делится, значит число не является простым. Функция возвращает значение True, если число простое, и False - если не простое.

Мы заполняем исходный массив A случайными числами от 0 до 100 с помощью функции Random. Затем проходимся по этому массиву и для каждого числа проверяем, является ли оно простым с помощью функции IsPrime. Если число простое, добавляем его в другой массив B.

В результате получаем отфильтрованный массив B с простыми числами.