Pascal, задача 1 курса
1. Составить программу, которая формирует одномерный массив из 100 элементов, заполненный случайными неповторяющимися числами из отрезка [50,200].
Не знаю как даже самым легким способом сделать проверку, чтоб числа не повторялись
>Не знаю как даже самым легким способом сделать проверку, чтоб числа не повторялись
А нахрена это делать вообще о_О? Какой-то странный у тебя подход. Просто бери случайно числа из гарантированно уникального набора и адью:
var
tgt: array[0..99] of integer;
src: array[50..200] of integer;
i, k: integer;
begin
randomize;
for i:=50 to 200 do
src[i] := i;
for i:=0 to 99 do
begin
k := random (151-i)+50;
tgt[i] := src[k];
src[k] := src[200-i];
write(tgt[i], ' ');
end;
readln;
end.
У нас всего 151 число. Берём массив из 151 числа от 50 до 200, перемешиваем его, выводим (или копируем в другой массив) первые 100 элементов.
program q;
var arr: array [0..150] of integer;
i, j, k: integer;
begin
randomize;
for i := 0 to 150 do arr[i] := i + 50; {инициализация}
for i := 150 downto 1 do begin {перемешивание}
j := random(i + 1);
k := arr[i];
arr[i] := arr[j];
arr[j] := k
end;
for i := 0 to 99 do write(arr[i], ' ') {вывод}
end.
На паскале не скажу, но алгоритмически: сравнивай новый элемент с существующими элементами массива, дальше через условие добавляй новый.
ЕСЛИ МАССИВ.СЧЕТ(ЧИСЛО)>0:
Берешь другое число
ИНАЧЕ:
МАССИВ.ДОБАВИТЬ(ЧИСЛО)