Паскаль. подсчитать сколько букв начинается с последней буквы первого слова

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

Паскаль. подсчитать сколько букв начинается с последней буквы первого слова


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

слов*

Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.2, сборка 1407 от 18.03.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ReadlnString('Вводите:').ToWords;
  var c:=a[0].Last;
  Writeln('Найдено ',a.Where(w->w.First=c).Count,
      ' слов, начинающихся с "',c,'"')
end.

Пример
Вводите: Туча дождь астроном баран арбуз зебра астра велосипед
Найдено 3 слов, начинающихся с "а"

Вариант "а нас в школе учат так", который якобы "проще"

var
  s:string;
  c:char;
  i,k,l,p:integer;
begin
  // Предполагается, что слова разделены ровно одним пробелом
  Write('Вводите: '); Readln(s);
  l:=Length(s);
  if l=1 then Writeln('Найдено одно слово')
  else begin
    p:=Pos(' ',s);
    if (p=0) and (s[1]=s[l]) then Writeln('Найдено одно слово')
    else begin
      c:=s[p-1];
      if s[1]=c then k:=1 else k:=0;
      for i:=p+1 to Length(s)-1 do
        if (s[i]=' ') and (s[i+1]=c) then Inc(k);
        Writeln('Найдено ',k,' слов, начинающихся с "',c,'"')
      end
    end
end.
(150k баллов)
0

Самое забавное то, что это технология в моей школее. На этом предмете имя изучаем Паскаль, на информатике же мы делаем задания в excel...

0

да, технология

0

))

0

и вам