Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Нахождение всех возможных перестановок строки

21K
20 ноября 2006 года
Hypnotize
4 / / 19.10.2006
Задание такое: Написать программу, которая по данной строке, находит кол-во строк которые можно получить из неё перестановкой символов и выести все возможные варианты.Т.е дана строка "АБВ",кол-во перестановок - 6 (АБВ,БАВ,БВА,ВАБ,ВБА,АВБ).
21K
30 ноября 2006 года
Hypnotize
4 / / 19.10.2006
Спасибо за помощь ...
21K
30 ноября 2006 года
Hypnotize
4 / / 19.10.2006
Только вот уточнение: перстановкой является строка и может состоять как из цифр, так и из букв или из знаков пунктуации .Например "t65*0f?" . Вывод перестановок по алфавиту необязателен.И програмку надо реализовать на Паскале (.
3.2K
30 ноября 2006 года
Sania
186 / / 28.10.2006
Ты хочешь, чтоб за тебя написали?
21K
01 декабря 2006 года
Hypnotize
4 / / 19.10.2006
я просто не до конца понял алгоритм и то как её написать именно на Паскале.
3.2K
01 декабря 2006 года
Sania
186 / / 28.10.2006
Вроде так:
Код:
procedure typePer(s:string;from:integer=1);
var c:char;
i:integer;
Begin
WriteLN(s);
for i=from+1 to length(s) do
 Begin
 c=s[from];
 s[from]=s;
 s=c;
 typePer(s,from+1);
 c=s[from];
 s[from]=s;
 s=c;
 End;
End;
42K
19 октября 2008 года
BBBb
3 / / 16.10.2008
Код:
var a:string;
j:integer;
f:text;
procedure typePer(s:string;from:integer);
var c:char;
i:integer;
Begin
for i:=from+1 to length(s) do
 Begin
 c:=s[from];
 s[from]:=s;
 s:=c;
 WriteLN(f,s);
 typePer(s,from+1);
 c:=s[from];
 s[from]:=s;
 s:=c;
 End;
End;
begin
Assign(f,'input.txt'); Reset(f);
 ReadLn(f,a);
Close(f);
Assign(f,'output.txt');rewrite(f);
writeln(f,a);

 for j:=length(a) downto 1 do
   typePer(a,j);
 close(f);
 end.

Вот написал по предыдущему сообщению. Работает быстро, но выводит не все варианты(( Где ошибка?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог