Другие языки программирования и технологии
помогите написать прогу в паскале:)
есть 20 чисел от 1 до 20, их нужно в рандомном порядке разбить на две группы по 10 чисел:)
for n:=1 to 20 do a[n]:=n;{создали массив}
m:=20;//элементов в a
for n:=1 to 20 do begin
r:=random(m)+1;{случайное число}
b[n]:=a[r];{заносим случайный элемент a в b}
a[r]:=a[m];{заносим последний элемент a на место случайного}
m:=m-1;{запоминаем, что a сократилось}
end;
в b элементы 1-10 и 11-20 - случайные.
Остальное по вкусу.
m:=20;//элементов в a
for n:=1 to 20 do begin
r:=random(m)+1;{случайное число}
b[n]:=a[r];{заносим случайный элемент a в b}
a[r]:=a[m];{заносим последний элемент a на место случайного}
m:=m-1;{запоминаем, что a сократилось}
end;
в b элементы 1-10 и 11-20 - случайные.
Остальное по вкусу.
А помощь-то в чем? Что не получается?
Двойной вложенный цикл, в первом генерируется число, во втором проверка что число еще не используется.
Или в массив генерировать числа, а потом первую половину в одну группу записать, а вторую половину во вторую.
Двойной вложенный цикл, в первом генерируется число, во втором проверка что число еще не используется.
Или в массив генерировать числа, а потом первую половину в одну группу записать, а вторую половину во вторую.
Типа готово!
Во сколько вариантов нагенерировал:
15 13 20 10 8 17 12 18 6 4
11 9 7 3 14 16 1 2 19 5
1 17 14 7 5 16 18 8 2 10
9 4 6 3 15 11 19 13 12 20
9 19 11 20 14 17 16 15 18 12
4 8 5 6 13 2 7 3 10 1
6 19 7 3 9 14 1 8 20 5
15 4 11 10 2 17 12 16 13 18
13 14 4 18 15 16 6 10 17 19
3 11 1 8 12 9 20 2 5 7
8 5 2 13 6 18 17 12 3 16
19 11 7 15 9 1 20 4 14 10
1 14 19 8 2 11 17 9 3 6
18 20 10 5 12 15 13 7 4 16
8 6 12 13 10 18 9 20 5 2
3 14 11 16 15 7 19 17 4 1
6 20 2 13 10 1 9 15 8 3
14 7 18 19 4 17 12 11 5 16
9 18 1 19 3 17 6 20 13 11
4 15 5 14 8 10 7 2 12 16
6 10 15 11 9 18 13 16 1 8
14 3 2 4 19 12 20 7 5 17
16 12 1 3 4 18 2 20 13 9
10 15 17 6 14 5 7 11 8 19
Во сколько вариантов нагенерировал:
15 13 20 10 8 17 12 18 6 4
11 9 7 3 14 16 1 2 19 5
1 17 14 7 5 16 18 8 2 10
9 4 6 3 15 11 19 13 12 20
9 19 11 20 14 17 16 15 18 12
4 8 5 6 13 2 7 3 10 1
6 19 7 3 9 14 1 8 20 5
15 4 11 10 2 17 12 16 13 18
13 14 4 18 15 16 6 10 17 19
3 11 1 8 12 9 20 2 5 7
8 5 2 13 6 18 17 12 3 16
19 11 7 15 9 1 20 4 14 10
1 14 19 8 2 11 17 9 3 6
18 20 10 5 12 15 13 7 4 16
8 6 12 13 10 18 9 20 5 2
3 14 11 16 15 7 19 17 4 1
6 20 2 13 10 1 9 15 8 3
14 7 18 19 4 17 12 11 5 16
9 18 1 19 3 17 6 20 13 11
4 15 5 14 8 10 7 2 12 16
6 10 15 11 9 18 13 16 1 8
14 3 2 4 19 12 20 7 5 17
16 12 1 3 4 18 2 20 13 9
10 15 17 6 14 5 7 11 8 19
for i := 1 to 20 do begin if (random(2) = 0 and (c > 0)) then begin b[ bp ] := a[ i ]; inc( bp ) dec(c); end else begin c[ cp ] := a[ i ]; inc( cp ); end;
Похожие вопросы
- Помогите написать прогу на паскале
- СРОЧНО ПОМОГИТЕ!!! Напишите прогу на паскале
- Помогите написать прогу на Паскале, экзамен горит, очень нужно..
- Помогите написать прогу на паскале!
- люди помогите написать прогу в паскале чтоб она запрашивала число и потом писала простое оно или нет, всю голову сломал
- помогите написать прогу в паскале срочно!!
- Помогите написать ПРОГУ ПО ПАСКАЛЮ!!!
- СРОЧНО ! Напишите прогу на Паскале
- напишите проги в ПАСКАЛЕ плиз!!!очень надо.
- помогите составить прогу в паскале