Урок 15 задача 13
Primary tabs
Напишите программу, которая будет заполнять массив из 10 элементов случайными числами из диапазона от 0 до 20, при этом в полученном массиве не должно быть одинаковых значений.
type
newArr = array[1..10] of integer;
var i, j: integer;
rndmArr: newArr;
begin
randomize();
for i := 1 to 10 do
begin
rndmArr[i] := random(21);
j := 0;
while (j < i) do
begin
if (rndmArr[i] = rndmArr[j]) then
begin
rndmArr[i] := random(21);
j := 0;
end
else
j:=j+1;
end;
write(rndmArr[i],' ');
end;
writeln();
readln();
end.
- Log in to post comments
- 1576 reads
vedro-compota
Wed, 05/04/2022 - 20:20
Permalink
rndmArr[i] := random(21);
-- убрать дублирование кода, можно (и нужно) использовать break
_____________
матфак вгу и остальная классика =)
alexander263
Wed, 05/11/2022 - 19:02
Permalink
Исправлено
var i, j: integer; rndmArr: array[1..10] of integer; begin randomize(); i:=1; while i <= 10 do begin rndmArr[i] := random(21); //writeln('Попытка ',i,' массив: ',rndmArr[i]); j := 1; while (j <> i) do begin if (rndmArr[i] = rndmArr[j]) then begin i:=i-1; break; end else j:=j+1; end; i:=i+1; end; writeln(); for i:=1 to 10 do write(rndmArr[i],' '); readln(); end.vedro-compota
Wed, 05/11/2022 - 19:24
Permalink
засчитано
засчитано
_____________
матфак вгу и остальная классика =)