Первое слово необходимо преобразовать во второе, используя наименьшее количество следующих действий:
1.удалений символа;
2.замен символа на любой другой.
Ваша программа должна
запросить исходное слово (до 20 символов), которое будет преобразовываться;
запросить слово, которое нужно получить;
для найденного самого короткого преобразования выполненного по правилам сообщить:
число удалений;
число замен;
для контроля слово, образовавшееся после выполнения всех удалений и слово-результат,
или сообщить, что преобразование невозможно.
Пример. Исходные данные: корова, свора. Ответ: удалений 1, замен 3, после удаления – коова, итог –свора.
2 случая я рассмотрела....с 3им проблемы...(там, где звёздочки, нужно вставить ещё несколько условий)
Program P3;
const
n=20;
var
a,b:string[n];
i,j,k:integer;
del1,fin:string[n];
del,ch:integer;
begin
writeln ('Vvedite nachalnoe slovo',a);
read(a);
writeln ('Vvedite konechnoe slovo',b);
read(b);
if length(a)<length(b) then
writeln ('Preobrazovanie nevozmozhno')
else
begin
if a=b then
ch:=0;
del1:=a;
fin:=b;
del:=0;
begin
for i:=1 to length(a) do
begin
if a[i]<>b[i] then
ch:=ch+1;
end;
end;
end;
if length(a)>length(b) then
del:=length(a)-length(b);
**************************************************************
writeln('Delete - ',del,', Change - ',ch,', After delete - ',del1,', Final - ',fin);
end.
13 ноября 2009 в 22:00
Держи
http://nopaste.info/ed449ec85f.html
А ты что, правда на басу играешь?
13 ноября 2009 в 22:02
Большое спасибо)
Да, правда)
13 ноября 2009 в 22:03
Есть чем похвастаться?
13 ноября 2009 в 22:03
Если Вы о стаже игры (не только на басу) – есть))
А если о том, чего бы послушать, то в данный момент записанных вещей нет(
13 ноября 2009 в 23:00
Я имел ввиду послушать.
Я вообще до некоторого времени думал что басисток не бывает =).
Даже спеллчекер говорит что не знает слов "басистка" "басисток".
13 ноября 2009 в 23:00
Басистки бывааают)))
И барабанщицы тоже))
14 ноября 2009 в 0:00
Все хорошо, только вот алгоритм неверный, как мне кажется.
Парочка контрпримеров:
aaaaa -> bbb
Должно быть 2 del 3 swaps, а программа что выдает?
aaccbb -> aabb
Должно быть 2 del 0 swaps, а программа что выдает?
14 ноября 2009 в 0:01
Денис "Марсианин" Лисов, да, действительно, программа работает не очень правильно….
в данный момент перерабатываю…))
14 ноября 2009 в 0:01
Мне кажется, что задача на динамическое программирование. По крайней мере, такой подход позволит решить задачу за достаточно малое время.
14 ноября 2009 в 0:02
Я в программировании новичок)))
Так что не особо знаю различные подходы к решению задач…