Получить все числа, которые входят в массив по одному разу - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д