Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.08.2014, 15:48   #1
Oxanita
Новичок
Джуниор
 
Регистрация: 08.08.2014
Сообщений: 4
Восклицание вывести на экран все возможные варианты

Дана строка с 12 ячейками. в каждой ячейке может быть одна из цифр: 0,1,2. нужно вывести на экран все возможные варианты, при условии что в строке не может быть больше 4 одинаковых цифр подряд.

Последний раз редактировалось Oxanita; 08.08.2014 в 15:50. Причина: ошибка
Oxanita вне форума Ответить с цитированием
Старый 08.08.2014, 15:51   #2
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

На китайском пойдет ? :D
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 08.08.2014, 15:56   #3
Oxanita
Новичок
Джуниор
 
Регистрация: 08.08.2014
Сообщений: 4
По умолчанию

Цитата:
Сообщение от pompiduskus Посмотреть сообщение
На китайском пойдет ? :D
pascal, желательно:-)
Oxanita вне форума Ответить с цитированием
Старый 08.08.2014, 16:30   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
нужно вывести на экран все возможные варианты
В качестве предложения:
Код:
var s:string;i,j:integer;c:char;
begin
 readln(s);
 for i:=1 to Length(s) do  for j:=1 to Length(s) do begin
  c:=s[i];s[i]:=s[j];s[j]=c; writeln(s);
 end;
 readln;
end.
Не проверял.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.08.2014, 16:48   #5
Oxanita
Новичок
Джуниор
 
Регистрация: 08.08.2014
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
В качестве предложения:
Код:
var s:string;i,j:integer;c:char;
begin
 readln(s);
 for i:=1 to Length(s) do  for j:=1 to Length(s) do begin
  c:=s[i];s[i]:=s[j];s[j]=c; writeln(s);
 end;
 readln;
end.
Не проверял.
спасибо. сейчас попробуем:-)
Oxanita вне форума Ответить с цитированием
Старый 08.08.2014, 20:32   #6
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Дык генерьте все перестановки попутно проверяя условие на 4 символа..
Poma][a вне форума Ответить с цитированием
Старый 08.08.2014, 20:49   #7
Oxanita
Новичок
Джуниор
 
Регистрация: 08.08.2014
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение
Дык генерьте все перестановки попутно проверяя условие на 4 символа..
прошу прощение, но к сожалению, я далеко не проффесионал в этой сфере. если вам не трудно, можно немного доступней обьяснить...
Oxanita вне форума Ответить с цитированием
Старый 08.08.2014, 21:55   #8
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Перестановки можно получать так :
Код:
procedure GetPerms (k : Integer);
var
    i : Integer;
 
begin
    if n = k then begin
       // получили перестановку
    end;

    for i := k to n do begin
        Swap (a[k], a[i]);
        GetPerms(k+1);
        Swap (a[k], a[i])
    end
end;
 
GetPerms(1)

Теперь осталось решить проблему с 4-мя символами.. Когда получили перестановку проверяем условие.. и если удовлетворяет условию, то выводим..
Вот и всё..
Poma][a вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задан массив чисел из n элементов. вывести все возможные варианты перестановки из n элементов по m ( на паскале ) Sting707 Паскаль, Turbo Pascal, PascalABC.NET 2 11.03.2012 08:20
Вывести на экран все знаки пунктуации. vampir3001 Помощь студентам 3 29.02.2012 12:28
Возможные варианты написания отдельных слов Byurrer Общие вопросы C/C++ 7 14.04.2011 07:16
просчитать все возможные варианты диапазона используя VBA PARTOS Microsoft Office Excel 16 11.10.2010 10:57
Все возможные варианты строки Vikenty Общие вопросы Delphi 3 29.08.2010 03:30