ПОМОГИТЕ ПОЖАЛУЙСТА!!! ОЧЕНЬ НУЖНО!Дана строка. Строка состоит из слов, разделенных...

0 голосов
55 просмотров

ПОМОГИТЕ ПОЖАЛУЙСТА!!! ОЧЕНЬ НУЖНО!Дана строка. Строка состоит из слов, разделенных пробелами. Требуется:
1) Выделить из строки и напечатать слова:
а)не содержащие цифры 0-3.
б) слова, оканчивающиеся на "Я"


Информатика (59 баллов) | 55 просмотров
0

1. Язык программирования и версия? 2. Слова разделяются пробелАМИ - означает ли это. что пробелов между словами может быть больше одного? 3. Слова, оканчивающиеся на "Я" - а если на "я" строчное? Или в словах только символы верхнего регистра?

0

на "Я" только большую. тема называется " операция над строками" . функции : length, pos. copy, delete и т.д. задачу списала, как дана по условию.

0

Вопрос про язык и версию Вы проигнорировали. По именам функций вижу, что Паскаль, версия не указана, значит можно на любой писать

0

Опять же, проигнорировали вопрос про количество пробелов. Значит, можно брать самый просто: ровно через один пробел, первый и последний символы в строке непробельные..

0

можно

Дан 1 ответ
0 голосов
Правильный ответ

Const
  bd=['0'..'3'];
var
  s,wa,wb,w:string;
  c:char;
  i,n:integer;
  bad_a:boolean;
begin
  WriteLn('Вводите фразу, разделяя слова ровно одним пробелом');
  Read(s);
  s:=s+' ';
  n:=Length(s); wa:=''; wb:='';
  i:=1; bad_a:=false; w:='';
  while i<=n do begin<br>    repeat
      c:=s[i];
      if c<>' ' then begin
        bad_a:=bad_a or (c in bd);
        w:=w+c;
        Inc(i)
      end
      else begin
        if not bad_a then wa:=wa+' '+w;
        if s[i-1]='Я' then wb:=wb+' '+w;
        w:=''; bad_a:=false
      end
    until c=' ';
    Inc(i);
  end;
  wa:=Copy(wa,2,Length(wa)-1);
  wb:=Copy(wb,2,Length(wb)-1);
  Writeln(wa);
  Writeln(wb)
end.

(142k баллов)