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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2012, 14:32   #1
Дарьяна
Новичок
Джуниор
 
Регистрация: 19.02.2012
Сообщений: 2
По умолчанию Машина Тьюринга

Помогите, пожалуйста, решить задачу. Одну решила, а эту не понимаю.

На ленте машины Тьюринга задана последовательность из символов двоичного алфавита. Необходимо переместить все нули в начало строки, а единицы - в конец.
Дарьяна вне форума Ответить с цитированием
Старый 20.02.2012, 18:40   #2
d3qoot
Пользователь
 
Регистрация: 08.06.2011
Сообщений: 30
По умолчанию

Цитата:
Необходимо переместить все нули в начало строки, а единицы - в конец.
Самое примитивное:
Посчитать кол-во 0 и 1 в строке (предположим, в edit1):
Код:
k:=0;
j:=0;
for i:=1 to length(edit1.Text) do
 if edit1.Text[i]='0' then 
 k:=k+1
 else
 j:=j+1;
Затем переписать строку:
Код:
for i:=1 to k do
 edit1.Text:=edit2.Text+'0';
for i:=1 to j do
 edit1.Text:=edit2.Text+'1';
d3qoot вне форума Ответить с цитированием
Старый 21.02.2012, 13:49   #3
Дарьяна
Новичок
Джуниор
 
Регистрация: 19.02.2012
Сообщений: 2
По умолчанию

d3qoot, спасибо большое!
Дарьяна вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Машина Тьюринга и алгоритмы Маркова. Машина Поста. MarkForMath Помощь студентам 0 27.04.2011 21:55
Машина Тьюринга. skorpi Помощь студентам 0 30.12.2009 21:40
Машина Тьюринга ja-vishenka Помощь студентам 4 14.09.2009 21:59