Определить. имеются ли в одномерном массиве одинаковые элементы — Pascal(Паскаль)

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;
k:=0;
for i:=1 to n-1 do
for j:=i+1 to n do
if a[j]=a[i] then k:=1;
if k=1 then write('В массиве имеются одинаковые элементы')
else write('В массиве одинаковых элементов нет!');
readln
end.

Следующий вариант

program tmp;
uses crt;
const count=100;
var mas:array[1..count] of integer;
D:set of byte;
n,i:integer;
b:boolean;
begin
clrscr;
randomize;
readln(n);
for i:=1 to n do begin
                 mas[i]:=random(50);
                 write(mas[i],' ');
                 end;
                 writeln;
D:=[];
b:=false;
for i:=1 to n do begin
                 if mas[i] in D then b:=true;
                 D:=D+[mas[i]];
                 end;
if b then write('yes') else write('no');
readkey;
end.

Leave a Comment

− 2 = 1