1)Дана строка символов среди которых есть двоеточие (:)определите сколько символов ему...

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

1)Дана строка символов среди которых есть двоеточие (:)определите сколько символов ему предшествует.
2)дана строка слов В. Сформулируйте литерную величину А, состоящию из первых букв слов входящих в строку В.
3)Дана строка состояща я из нескольких слов .найдите наибольшую длину слова.
4()в записке слова зашифрованы каждое из них записано на оборот ,расшифруйте сообщение .


Информатика (30 баллов) | 84 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

PascalABC.NET 3.2:
1.
begin
   write(ReadString.indexof(':'))
end.
Пример ввода: 1234:56
Пример вывода: 4

2.
begin
   write(readString.ToWords.Select(x->x[1]).JoinIntoString)
end.
Пример ввода: Как любила язвить королева, собаки апплодировали
Пример вывода: Клякса
3.
begin
   write(readString.ToWords.Select(s->Length(s)).Max)
end.
Пример ввода: Не хочу учиться хочу жениться
Пример вывода: 8
4.
Если там нет знаков препинания:
begin
   write(readString.ToWords.Select(s->ReverseString(s)).JoinIntoString(' '))
end.
Если там есть знаки препинания, которые надо оставить на месте, то настолько же короткого решения мне не придумалось, можно так: 
begin
  var str := readString + ' ';
  var m := '';
  for var i := 1 to str.Length do
    if str[i].IsLetter then
      m += str[i]
    else
    begin
      write(ReverseString(m), str[i]);
      m := '';
    end;
end.
Пример ввода: амар алым умам
Пример вывода: рама мыла маму

(148k баллов)