Работа со строками

Ответить
sasha198407
Сообщения: 1
Зарегистрирован: 31 янв 2010, 21:33

Здравствуйте господа. Пришла сессия и надо решать лабы. Две сделал, а две не могу. Вод задание.

Задание1(использование множественного типа данных)
В алфавитном порядке напечатать (по разу) все строчные русские гласные буквы (*), входящие в этот текст более трёх раз.

Задание2(стандартный модуль string)
Дана последовательность, состоящая из 10 слов. Перевернуть те слова последовательности, в которых последняя буква слова вхлдит в гнего еще раз. Вывести результат.

Ко 2 задаче написал вот что, но выдаёт какой-то бред.
uses crt;
var
a:string[100];
b:string[100];
v:string[100];
i,j,l:integer;
f:char;
begin
clrscr;
f:=',';
a:='саша, маша, петя,';
for i:=1 to length(a) do begin
if a=f then
begin
b:=copy(a,1,i-1);
delete(a,1,i);

for j:=1 to length(b)-1 do
begin
l:=length(b);
if b[l]=b[j] then
begin
for l:=length(b) downto 1 do
begin
write(b[l]);
end;
end;
write(' ');
end;
{delete(a,1,i);}
end;
end;
readln;
end.
Огромная просьба если кто знает откликнуться по быстрее(можно ссылки на похожие задачи или на полезную информацию), а то горю. Прошу прощения за наглость.
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

1. var mas=array['А'..'Я'] of integer. Проходим по тексту, встречаем заглавную букву - увеличиваем значение массива для этой буквы на 1. Потом проходим по массиву, если значение 3 или больше - выводим
2. Если вы обнаружили букву в слове и вывели его в обратную сторону - надо прекратить цикл (break) и идти к следующему слову. А если не обнаружили - вывести слово слева направо.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Ответить