Получить все числа, которые входят в массив по одному разу - Free Pascal
Формулировка задачи:
Дан целочисленный массив X, содержащий n элементов (n ≤ 20). Получить все числа, которые входят в массив по одному разу.
Решение задачи: «Получить все числа, которые входят в массив по одному разу»
textual
Листинг программы
type TArray = Array Of ShortInt; var ar, uniq: TArray; i, j, n: Byte; check: Boolean; begin repeat Write('Input array length: '); ReadLn(n); until (n in [1..20]); SetLength(ar, n); SetLength(uniq, 0); Write('Original array:'); Randomize(); for i := 0 to n - 1 do begin ar[i] := Random(11) - 5; Write(ar[i]:4); check := (i <> 0); if (check) then begin j := i; repeat Dec(j); check := (ar[i] = ar[j]); until ((j = 0) Or (check)); end; if (Not check) then begin SetLength(uniq, Length(uniq) + 1); uniq[Length(uniq) - 1] := ar[i]; end; end; WriteLn; Write('Uniq elements:'); for i := 0 to Length(uniq) - 1 do Write(uniq[i]:4); end.
Объяснение кода листинга программы
В этом коде:
- Объявляются две массива ar и uniq типа TArray, где TArray это массив значений типа ShortInt.
- Затем объявляются три переменные i, j и n типа Byte.
- Переменная n используется для контроля цикла, который будет выполняться до тех пор, пока пользователь не введет корректное значение длины массива от 1 до 20.
- После этого происходит инициализация массива ar и uniq. Длина массива ar устанавливается равной значению n, а длина массива uniq равна 0.
- Выводится сообщение
Original array:
и заполняется массив ar случайными числами от -5 до 5 с шагом 1. - Для каждого элемента массива ar проверяется его уникальность. Если элемент повторяется, то он заменяется на следующее уникальное число. Если элемент уникален, то он добавляется в массив uniq.
- После того как все элементы массива ar были проверены, выводится сообщение
Uniq elements:
и выводятся все уникальные элементы массива uniq.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д