Есть ли в массиве элементы с одинаковыми значениями - Pascal
Формулировка задачи:
Составить программу на языке паскаль которая определяет есть ли в массиве элементы с одинаковыми значениями
Решение задачи: «Есть ли в массиве элементы с одинаковыми значениями»
textual
Листинг программы
uses crt; const max=100; var a:array[1..max] of integer; n,i,j,k:byte; begin clrscr; repeat write('Размер массива n='); readln(n); until n in [1..max]; writeln('Введите ',n,' целых чисел:'); for i:=1 to n do begin write('a[',i,']='); readln(a[i]); end; clrscr; writeln('Исходный массив:'); for i:=1 to n do write(a[i],' '); writeln; writeln; k:=0; for i:=1 to n-1 do for j:=i+1 to n do if a[j]=a[i] then begin k:=1; break; end; if k=0 then write('Одинаковых элементов нет!') else write('Одинаковые элементы есть!'); readln end.
Объяснение кода листинга программы
- Установка начального размера массива и ввод количества элементов в цикле до тех пор, пока не будет введено корректное значение размера массива.
- Ввод элементов массива с помощью цикла и сохранение их в соответствующих ячейках массива.
- Очистка экрана и вывод исходного массива на экран.
- Установка флага
k
равным 0, который будет меняться на 1 при обнаружении одинаковых элементов. - Проверка наличия одинаковых элементов в массиве с помощью двух вложенных циклов. Если найдены одинаковые элементы, то флаг
k
меняется на 1 и выполнение внутреннего цикла прерывается с помощью оператораbreak
. - После завершения циклов выводится сообщение о наличии или отсутствии одинаковых элементов в массиве.