На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.

Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».

АвторСообщение



Не зарегистрирован
ссылка на сообщение  Отправлено: 28.11.20 14:16. Заголовок: Задание 12


Здравствуйте, не могу найти алгоритм для решения этой задачи: (№ 2134) (С.С. Поляков) Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
1. заменить (v, w)
2. нашлось (v)
Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Дана программа для исполнителя Редактор:
НАЧАЛО
ПОКА нашлось (111)
заменить (111, 2)
заменить (222, 3)
заменить (333, 1)
КОНЕЦ ПОКА
КОНЕЦ
Какая строка получится в результате применения приведённой программы к строке вида 1…13…3 (2019 единиц и 2019 троек)?

Спасибо: 0 
Цитата Ответить
Ответов - 1 [только новые]





Не зарегистрирован
ссылка на сообщение  Отправлено: 29.12.20 08:01. Заголовок: решение задачи 2134 (задание 12)


Добрый день. Составила программу для решения этой задачи
{№ 2134
ПОКА нашлось (111)
заменить (111, 2)
заменить (222, 3)
заменить (333, 1)
КОНЕЦ ПОКА
редактор получает строку вида 1…13…3 (2019 единиц и 2019 троек)?
что будет?
}
var
s: string;
p1, p2, p3: integer;

begin
s := '1' * 2019 + '3' * 2019;
p1 := Pos('111', s); // определяет позицию первого вхождения 111 в строку s

while p1 > 0 do
begin//ПОКА нашлось (111)
//заменить (111, 2)

if p1 > 0 then begin
Delete(s, p1, 3);
Insert('2', s, p1);
end;
//заменить (222, 3)

p2 := Pos('222', s); // определяет позицию первого вхождения 222 в строку s
if p2 > 0 then begin
Delete(s, p2, 3);
Insert('3', s, p2);
end;
//заменить (333, 1)

p3 := Pos('333', s); // определяет позицию первого вхождения 333 в строку s
if p3 > 0 then begin
Delete(s, p3, 3);
Insert('1', s, p3);
end;
p1 := Pos('111', s); // определяет позицию первого вхождения 111 в строку s

end; // КОНЕЦ ПОКА

print(s)

end.

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 1352
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет