Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Посимвольный ввод данных

Автор: Alexan 5.11.2006 23:09

Народ, помогите разобраться!
Задача:Дана последовательность символов, заканчивающаяся знаком «*». Известно, что среди этих символов есть двоеточие. Определить количество букв «l», стоящих после двоеточия.


program lab_816;
var
ch:char;
kol:integer;
begin
writeln('vvedite stroky');
repeat
read(ch);
if ch=':' then
begin
kol:=0;
............. ; <-- что здесь надо написать???
end
until ch='*';
writeln(kol);
readln;
readln
end.



Автор: klem4 5.11.2006 23:21

Варинт № 1

uses crt;

var
ch: Char;
count: Integer;
flag: Boolean;

begin
clrscr;

count := 0;

flag := false;

repeat

readln(ch);

if ch = ':' then flag := true;

if (flag) and (ch = 'l') then
inc(count);

until ch = '*';

writeln('count = ', count);

readln;
end.


Вариант №2

uses crt;

var
ch: Char;
count: Integer;

begin
clrscr;

count := -1;

repeat

readln(ch);

if (ch = ':') and (count < 0) then inc(count);

if (count >= 0) and (ch = 'l') then
inc(count);

until ch = '*';

writeln('count = ', count);

readln;
end.

Автор: Alexan 6.11.2006 15:19

Огромное спасибо, klem4 good.gif