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

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

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

 
 Ответить  Открыть новую тему 
> Комбинации, Комбинации
сообщение
Сообщение #1


Пионер
**

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

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


Не подскажите, как найти все комбинации фактариала числа? (Пример:4!= 1234, его комбинации, 1243,1342,1324 и т.д.)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Злостный любитель
*****

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

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


> фактариала

Шо цэ таке?


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Пионер
**

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

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


Фактариал он и в африке факториал
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Злостный любитель
*****

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

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


Цитата(alecsandr @ 5.01.2010 20:01) *

Фактариал он и в африке факториал


Перечитай эту фразу ещё раз.
Между прочим, в десятой версии оперы спеллчекер стоит по умолчанию. Так что поставь себе последнюю версию оперы, поможет.


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Пионер
**

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

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


Пример: Факториал 4!=1*2*3*4=24, понятно?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Злостный любитель
*****

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

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


Ага, всё-таки фактОриал.
Следующий вопрос: что такое комбинации факториала?


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Пионер
**

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

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


Нужна не комбинация факториала, а комбинация из цифр которые входят в факториал. Пример: 4!=1234, комбинация из 1234, 1342,1324 и т.д. Ясно?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






Ты уже определись,
Цитата(alecsandr @ 5.01.2010 18:20) *
Пример:4!= 1234
, или все-таки
Цитата(alecsandr @ 5.01.2010 20:01) *
Пример: Факториал 4!=1*2*3*4=24
?

А вообще, ты же читал вот эту тему: Комбинаторика (не надо говорить, что нет, ты в ней свой вопрос задавал - он удален, задавай его где положено, а не в FAQ-е), там есть алгоритм генерации перестановок N элементного множества... Чем он тебя не устроил?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Пионер
**

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

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


когда я добавляю, очистку экрана(clrscr) и readkey он пишет
"ERROR 3: неизвестный идентфикатор"

 Program perms;
var
i, j, h, n, k: integer;
a:array[0 .. 100] of integer; { массив для хранения перестановки }

{процедура вывода полученной перестановки}
procedure output;
var i: integer;
begin
writeln;
for i:=1 to n do write(a[i],' ');
end;

begin
clrscr;
write('количество элементов перестановки: '); readln(n);
fillchar(a, sizeof(a), 0);

{ ввод элементов начальной перестановки }
for i:=1 to n do a[i]:=i;

repeat
output; { вывод текущей перестановки }
i:=n;
while a[i-1]>a[i] do dec(i); { поиск скачка }
j:=i-1;
h:=a[j];
while a[i+1]>h do inc(i); { поиск первого меньшего элемента }
a[j]:=a[i]; a[i]:=h;
i:=j+1; k:=n;
while i<k do begin { перестановка ”хвоста” }
h:=a[i]; a[i]:=a[k]; a[k]:=h;
inc(i); dec(k)
end
until j=0;
readkey;
end.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Злостный любитель
*****

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

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


А в помощь заглянуть, и узнать, что для цэлэрэсэкэрэ надо юзес цээрте - я должен?


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Пионер
**

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

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


А почему не хочет записывать в файл?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Злостный любитель
*****

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

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


Покажи код, которым ты пытаешься обратиться к файлу.


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Знаток
****

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

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


комбинации фактоиала?...
эт так что ли?
для n=3
n(n-1)(n-2)


--------------------
Objective-C, Unity3d
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Пионер
**

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

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



Program perms;
uses crt;
var
i, j, h, n, k: integer;
a:array[0 .. 100] of integer; { ìàññèâ äëÿ õðàíåíèÿ ïåðåñòàíîâêè }
out,:text;
{ïðîöåäóðà âûâîäà ïîëó÷åííîé ïåðåñòàíîâêè}
procedure output;
var i: integer;
begin
writeln;
for i:=1 to n do write(a[i],' ');
end;

begin
clrscr;
assign(out,'c:\ out.txt');
rewrite (out);
write('êîëè÷åñòâî ýëåìåíòîâ ïåðåñòàíîâêè: '); readln(n);
fillchar(a, sizeof(a), 0);
{ ââîä ýëåìåíòîâ íà÷àëüíîé ïåðåñòàíîâêè }
for i:=1 to n do a[i]:=i;
repeat
output; { âûâîä òåêóùåé ïåðåñòàíîâêè }
i:=n;
while a[i-1]>a[i] do dec(i); { ïîèñê ñêà÷êà }
j:=i-1;
h:=a[j];
while a[i+1]>h do inc(i); { ïîèñê ïåðâîãî ìåíüøåãî ýëåìåíòà }
a[j]:=a[i]; a[i]:=h;
i:=j+1; k:=n;
while i<k do begin { ïåðåñòàíîâêà ”õâîñòà” }
h:=a[i]; a[i]:=a[k]; a[k]:=h;
inc(i); dec(k);
write(out,'kombinacii');
end
until j=0;
close(out);
end.

она останавливается на выделенной строчке
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Злостный любитель
*****

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

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


Во-первых, ты выводишь не в файл out, а на экран.
Во-вторых, в чём эта остановка выражается? Зависает, или показывает ошибку?


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Гость






Цитата
в чём эта остановка выражается?
С пробелом в названии файла? В невозможности его создать и аварийной остановке, как пить дать...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Пионер
**

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

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


VOLVO как сделать чтобы твоя задача в "Комбинаторика" записывала в файл а не на экран? Она не хочет записывать(
Program perms;
uses crt;
var
i, j, h, n, k: integer;
a:array[0 .. 100] of integer; { массив для хранения перестановки }
out:text;
{процедура вывода полученной перестановки}
procedure output;
var i: integer;
begin
writeln;
for i:=1 to n do write(a[i],' ');
end;

begin
clrscr;
assign(out,'c:\out.txt');
rewrite (out);
write('количество элементов перестановки: '); readln(n);
fillchar(a, sizeof(a), 0);
{ ввод элементов начальной перестановки }
for i:=1 to n do a[i]:=i;
repeat
output; { вывод текущей перестановки }
i:=n;
while a[i-1]>a[i] do dec(i); { поиск скачка }
j:=i-1;
h:=a[j];
while a[i+1]>h do inc(i); { поиск первого меньшего элемента }
a[j]:=a[i]; a[i]:=h;
i:=j+1; k:=n;
while i<k do begin { перестановка ”хвоста” }
h:=a[i]; a[i]:=a[k]; a[k]:=h;
inc(i); dec(k);
write(out);
end
until j=0;
close(out);
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18


Гость






Цитата
Она не хочет записывать(
А ты попроси, как следует:
{процедура вывода полученной перестановки}
procedure output;
var i: integer;
begin
writeln(out); { <--- }
for i:=1 to n do write(out, a[i],' '); { <--- }
end;
, тогда будет запись в файл... Кстати, я бы не рекомендовал бросать файлы в корень диска С:... Во-первых, у тебя элементарно может не быть прав на запись туда, а во-вторых - это просто глупо, зачем писать что-то в корень системного диска? Пиши в ту же папку, где лежит твой EXE-шник:
clrscr;
assign(out,'out.txt');
rewrite (out);
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 11.01.2025 9:44
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name