IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Рекурсия, Рекурсия
toxa
сообщение 21.05.2005 21:33
Сообщение #1





Группа: Пользователи
Сообщений: 3
Пол: Мужской

Репутация: -  0  +


Помогите решить задачу а то я чё то торможу :molitva:
Дан одномерный массив (например из 10 чисел). Эти числа надо разбить на группы (например по 5 ) так, чтобы не было одинаковых чисел (например 5 6 7 1 4 входили, а 6 1 4 5 7, 1 4 5 7 6, и т д не входили) количество таких групп я подсчитал по формуле (в данном примере их 252), а вот как их вывести?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 26.05.2005 22:55
Сообщение #2


Гость






Вот так:
const
n = 4; { количество элементов в массиве }
var
i, j, k: integer;

const
data:array[1 .. n] of integer =
(2, 5, 7, 9); { это сам исходный массив }
var
a: array[0 .. pred(n)] of integer; { дополнительный массив }

Procedure use;
var
i : integer;
begin
writeln;
for i:=1 to k do
write(data[ a[i] ]:3)
end;

begin
k := 3; { группы по К элементов }
for i:=0 to k do a[i]:=i;
repeat
use;
i:=k;
while a[i]=n-k+i do dec(i);
inc(a[i]);
for j:=i+1 to k do a[j]:=a[j-1]+1;
until i=0;
end.

Только рекурсия здесь на самом-то деле не нужна... :no:
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 19.07.2025 14:53
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"