Вопрос № 27811: Zdrast'!
1. kak sghenerirovat' sluciainiie cisla ot 1 do 10 nu shtob ne poftorealisi:
1 3 5 2 7 9 8 4 6
2.
Ia nemnoshko zabil
kak uznat' ascii cod or Chara?
...
Вопрос № 27.811
Zdrast'!
1. kak sghenerirovat' sluciainiie cisla ot 1 do 10 nu shtob ne poftorealisi:
1 3 5 2 7 9 8 4 6
2.
Ia nemnoshko zabil
kak uznat' ascii cod or Chara?
Отправлен: 16.10.2005, 21:40
Вопрос задал: spider (статус: 3-ий класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Licvidator
Здравствуйте, spider!
I. Не претендую на эффективность, но я бы сделал так:
1. Создаю одномерный массив, размерность 10, заполняю последовательно цифрами от 1 до 10.
2. С помощью Math.random генерирую числа от 0 до 1, потом умножаю на 9 и прибавляю 1, результат округляю (Math.ceil) и получаю генерацию от 1 до 10
3. Теперь у меня есть генерация от 1 до 10, которую я буду использовать для выборки из того одномерного массива с числами
4. Скажем, выпало 4. значит, я беру 4 позицию в массиве (а это будет 4), вывожу его на экран или отправляю в другой, выходной массив, и пересобираю первый массив, убирая выпавшую позицию. Получается массив уже с размерностью 9.
5. Генерирую позицию уже от 1 до 9 и повторяю пункт 4 и т.д. пока массив не закончится.
6. На выходе получаю случайные числа от 1 до 10 без повторов:)
II. str.charCodeAt(позиция_символа_в_строке_str);
Ответ отправил: Licvidator (статус: Профессор)
Отправлен: 17.10.2005, 12:18 Оценка за ответ: 5 Комментарий оценки: Bolishoe Spasibo!!!
Отвечает: Romodos
Здравствуйте, spider!
1)
var p:array[1..10] of byte;
procedure sozd;
var n,k,z,f:byte;
begin
randomize;
n:=0;
while n<=10 do begin
z:=random(10)+1;
for k:=1 to n do
if z=p[k] then f:=1;
if f=0 then begin
p[n]:=z;
n:=n+1;
end;
f:=0;
end;
end;
2) ord(c)
--------- FAQ me off!
Ответ отправил: Romodos (статус: Студент)
Отправлен: 17.10.2005, 15:21 Оценка за ответ: 5 Комментарий оценки: OK! Spasibo! mne kajetsea ato ne javascript! no namiok ponet !! spasibo!