Помощь - Поиск - Пользователи - Календарь
Полная версия: символы Char
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
}0pa
Используя только информацию о длине строки и переменную (конечно, можно использовать и др. переменные, но не String
Код
var c:char;

написать программу, выводящую на экран все слова, разделенные пробелами, начинающиеся на "М" и заканчивающиеся на "Е"...
Код

var c:char;
  i,n:integer;
begin
writeln('DLINA STROKI: ');readln(n);
for i:=1 to n do
  begin
   read(c);
   if c=' ' then         {не знаю, что делать}
-------------------     {нужно как-то ограничить слова пробелами}
-------------------
  end;
end.


Заранее благодарю!
P.S. Пардон, что пытался тему в Факе разместить, просто искал инфу там и на автопилоте начал там тему создавать
volvo
Тебе еще не надоела эта задача? Мне уже надоела...

Вот так попробуй:
uses crt;

var
n, i: byte;
ch, prev: char;
first, is_ok: boolean;

count: integer;

begin
count := 0;

n := 12;
first := true; prev := #0;

for i := 1 to n do begin
ch := readkey;
write(ch);

if first then
is_ok := (ch = 'm');

case ch of
#32:
begin
if prev <> #32 then
if is_ok and (prev = 'e') then inc(count);
first := true;
end;
else
first := false;
end;
prev := ch;
end;
writeln;
writeln('count = ', count);
readln;
end.


Для тестирования вводилась строка 'my moe meme '
(Примечание: последним вводимым символом должен быть пробел)
}0pa
Цитата
Тебе еще не надоела эта задача? Мне уже надоела...

Да, мне тоже порядком поднадоела.Только не мог бы ты пояснитьэту строчку
Код
  is_ok := (ch = 'm');

Спасибо. большое за задачу!
klem4
Логическая переменная is_ok принимает такое-же значение как и выражение (ch = 'm')

т.е is_ok будет принимать значение true, только в случае если переменная ch будет хранить символ 'm', в любом другом случае is_ok будет принимать значение false;

ch := 'A';
is_ok := (ch = 'm'); // is_ok == false;
ch := 'm';
is_ok := (ch = 'm'); // is_ok == true;
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.