Помощь - Поиск - Пользователи - Календарь
Полная версия: Поиск слова
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Sav93
Программа ищет все буквы "а", как зделать так чтобы она красила слово если оно заканчивается на букву "а"?
Что-то я сам дойти не могу...

 Program Tarasus;
Uses CRT;
const
a = ['a'];
Var text : string;
i : byte;
BEGIN
Write ('Vvedite text: ');
Readln (text);
For i := 1 to Length(text) do
begin
Write(text[i]);
if (text[i])=' ' then inc(i);
For i:=1 To length(text) Do
If text[i] In a Then
begin
textcolor(4);
write (text[i]);
end
else
begin
textcolor(7);
write(text[i]);
end;
readkey;
end;
end.

volvo
Если слова разделяются только одним пробелом - то вот так:

uses crt;
var
s : string;
i, prev, len : integer;

const
a = ['a'];

begin
readln (s);
len := length (s);

i := 1;
while i <= len do
begin
prev := i;
while (i < len) and (s[ i ] <> ' ') do inc (i);
if ((i = len) and (s[ i ] in a)) or ((i < len) and (s[i - 1] in a)) then
begin
textcolor (red);
end;

for prev := prev to i do write (s[prev]);
textcolor (lightgray);
inc (i);
end;
writeln;
end.
Sav93
Ага...а prev для чего?
volvo
Чтоб знать, откуда слово начиналось. Иначе как его выводить будешь?
Sav93
Ага...ясно...я много пробовал только не понимал как нормально вывести, теперь все ясно, Спасибо!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.