Паскаль. подсчитать сколько букв начинается с последней буквы первого слова
Паскаль. подсчитать сколько букв начинается с последней буквы первого слова
Ответ(ы) на вопрос:
Гость
// 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.
Не нашли ответ?
Похожие вопросы