Статус: Офлайн
Реєстрація: 03.02.2008
Повідом.: 9729
Реєстрація: 03.02.2008
Повідом.: 9729
Ну, вот для первой задачи вроде сделал.
Вроде работает. По крайней мере, массив создаёт. И числа вроде уникальные.
Прошу профи-программеров помидорами не кидаться.
Жду от прелестной заказчицы фото в купальнике. Решение остальных задач обсудим после...
Вот что выдаёт программа:
m[1]=2.00000
m[2]=12.00000
m[3]=70.00000
m[4]=79.00000
m[5]=37.00000
m[6]=46.00000
m[7]=4.00000
m[8]=14.00000
m[9]=71.00000
m[10]=81.00000
m[11]=39.00000
m[12]=93.00000
m[13]=51.00000
m[14]=60.00000
m[15]=18.00000
m[16]=28.00000
m[17]=86.00000
m[18]=95.00000
m[19]=53.00000
m[20]=62.00000
Естественно, при повторном запуске числа уже другие. Но не повторяются!
m[1]=59.00000
m[2]=69.00000
m[3]=26.00000
m[4]=36.00000
m[5]=94.00000
m[6]=3.00000
m[7]=61.00000
m[8]=70.00000
m[9]=28.00000
m[10]=83.00000
m[11]=41.00000
m[12]=50.00000
m[13]=8.00000
m[14]=17.00000
m[15]=75.00000
m[16]=33.00000
m[17]=42.00000
m[18]=0.00000
m[19]=10.00000
m[20]=67.00000
Вроде работает. По крайней мере, массив создаёт. И числа вроде уникальные.
Прошу профи-программеров помидорами не кидаться.

Жду от прелестной заказчицы фото в купальнике. Решение остальных задач обсудим после...

PHP:
program random20;
var m:array[1..20] of real;
r:real;
i,j:byte;
unicum:boolean;
begin
{Задаём значение первого элемента }
randomize;
m[1]:=random(100);
{Для остальных элементов прежде чем присвоить значение,
проверяем его на отсутствие совпадений}
for i:=2 to 20 do {начинаем со второго элемента}
begin
repeat {повторяем, пока не найдём уникальное число}
unicum:=true; {перед проверкой считаем число уникальным}
randomize;
r:=random(100); {придумываем случайное число}
for j:=1 to i-1 do {перебираем все элементы от первого до очередного
присвояемого}
begin
if r=m[j] then unicum:=false;{если совпало - значит не уникальный}
end;
until unicum=true;
if unicum then m[i]:=r; {Когда найден уникальный элемент - присваиваем}
end;
for i:=1 to 20 do writeln('m[',i,']=',m[i]:3:5); {Выводим массив на экран}
readln;{Ждём нажатия Энтер}
end.
Вот что выдаёт программа:
m[1]=2.00000
m[2]=12.00000
m[3]=70.00000
m[4]=79.00000
m[5]=37.00000
m[6]=46.00000
m[7]=4.00000
m[8]=14.00000
m[9]=71.00000
m[10]=81.00000
m[11]=39.00000
m[12]=93.00000
m[13]=51.00000
m[14]=60.00000
m[15]=18.00000
m[16]=28.00000
m[17]=86.00000
m[18]=95.00000
m[19]=53.00000
m[20]=62.00000
Естественно, при повторном запуске числа уже другие. Но не повторяются!
m[1]=59.00000
m[2]=69.00000
m[3]=26.00000
m[4]=36.00000
m[5]=94.00000
m[6]=3.00000
m[7]=61.00000
m[8]=70.00000
m[9]=28.00000
m[10]=83.00000
m[11]=41.00000
m[12]=50.00000
m[13]=8.00000
m[14]=17.00000
m[15]=75.00000
m[16]=33.00000
m[17]=42.00000
m[18]=0.00000
m[19]=10.00000
m[20]=67.00000
Останнє редагування:
Спасибо за задачку. Хотя и не без греха
" фото"