Создать новый вектор, элементы которого получены сперва взяв простые числа исходного, потом остальные - Pascal
Формулировка задачи:
Дано натуральное число n и х вектор содержащий n элементов. Создать новый y вектор, элементы которого получены сперва взяв простые числа, потом остальные. Заранее спасибо...
Решение задачи: «Создать новый вектор, элементы которого получены сперва взяв простые числа исходного, потом остальные»
textual
Листинг программы
type MainType = ShortInt; function IsPrime(const x: MainType): Boolean; var Result: Boolean; //удалить строку при ошибке повторного объявления i: MainType; begin Result := ((x >= 2) And (x mod 2 <> 0)); i := 3; if (Result) then while ((Sqr(i) <= x) And Result) do if (x mod i = 0) then Result := False else Inc(i, 2); IsPrime := Result; end; var x, y: Array[Byte] Of MainType; i, n, j: Byte; used: Set Of Byte; begin repeat Write('Input n(>0): '); ReadLn(n); until (n > 0); Randomize; Write('X:'); j := 0; used := []; for i := 0 to n - 1 do begin x[i] := Random(199) - 99; Write(x[i]:4); if (IsPrime(x[i])) then begin Write('...'); Include(used, i); y[j] := x[i]; Inc(j); end; end; WriteLn; i := 0; while (j < n) do begin if Not (i in used) then begin y[j] := x[i]; Inc(j); end; Inc(i); end; Write('Y:'); for i := 0 to n - 1 do Write(y[i]:4); WriteLn; end.
Объяснение кода листинга программы
- Объявляется пользовательский тип
MainType
какShortInt
. - Объявляется функция
IsPrime
для определения является ли число простым, гдеx
- входной параметр,Result
- результат проверки,i
- переменная для цикла. - Вводятся переменные:
x
,y
- массивы байтов типаMainType
i
,n
,j
- переменные типаByte
used
- множество байтов
- Выполняется ввод значения
n
, пока оно не будет больше 0. - Генерируются значения для массива
x
, выводятся и проверяются на простоту. Если значение простое, оно сохраняется в массивеy
. - Переменная
i
используется для добавления оставшихся значений в массивy
. - Значения массива
y
выводятся на экран. Код выполняет следующие действия:- Определяет простые числа в массиве
x
. - Перемещает простые числа в новый массив
y
. - Заполняет оставшиеся значения массива
y
другими значениями изx
. - Выводит массив
y
на экран.
- Определяет простые числа в массиве
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д