Рядковые величины

Подсчитать в тексте количество букв A и В, если А>B то все А с текста удалить, если В>A, то все В удалить!



Дополнение автора от 08.11.11 00:45:27

Текст-любое предложение

Ответы

нужен алгоритм или реализация на конкретном языке?

11.11.11

Решение задачи на Pascal

program bukva;

var s:string; /в этой переменной будет содержаться весь текст/

k,l,i:integer; / i -это индекс, k и l будут хранить количество проверяемых букв/

begin

readln(s);k=0;l=0; /Вводим исходный текст/

for i:=1 to length(s) do

begin

if s[i]='A' then k:=k+1; /подсчитываем поличество букв A в исходном тексте/

if s[i]='B' then l:=l+1 /подсчитываем поличество букв В в исходном тексте/ end; if k>l then /Здесь проиходит сравнение количества букв, если условие           выполнится..../

begin for i:=1 to lenggth(s) do /то проходя всю строку.../

if s[i]='A' then /находим все символы А.../

begin delete(s,i,1); /и удаляем их по одному, но при этом, если вдруг в тексте есть сдвоенные буквы АА, то вторая перейдет на место удаленной, а так как эта позиция уже проверена то программа ничего не удалит и сразу перейдет к следующей позиции, поэтому нужно эту пизици проверить еще раз/

i:=i-1;

end;

end;

if l>k then /все то же самое но для символа В/

begin for i:=1 to lenggth(s) do

if s[i]='B' then

begin

delete(s,i,1);

i:=i-1;

end;

end;

write(s); выводим очищенный текст

end.

/В условии задачи не оговаривается ситуация когда А=В, поэтому мы ничего про нее не пишем/

12.11.11

Елена Васильевна

Сейчас на сайте
Читать ответы

Евгений

Читать ответы

Виктор Щебетун

Читать ответы
Посмотреть всех экспертов из раздела Учеба и наука > Информатика
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store