Тема: Визначити кількість слів.
Var numA : Longint;
Function GetFirstWord (SS : String) : String;
Var S : String;
Begin
S:=SS;
While S[1]=' ' do Delete(S,1,1);
If Length(S)>0 then
If Pos(' ',S)=0 then GetFirstWord:=S
else GetFirstWord:=Copy(S,1,Pos(' ',S)-1)
else GetFirstWord:='';
End;
Procedure CalcWords(CC : String);
Var C : String;
Begin
C:=CC;
If Length(C)>0 then
Begin
Case GetFirstWord(C)[1] of
'a','A','а','А' : Inc(numA);
End;
Delete(C,1,Pos(GetFirstWord(C),C)+Length(GetFirstWord(C)));
CalcWords(C);
End;
End;
Begin
numA:=0;
CalcWords(' it"s testing a string for acheck work apascode ');
Writeln(numA);
End.
Умова до задачі:
Дано деякий текст. Групи символів, які розділені пробілами (одним або кількома) та не містять усередині себе пробілів, називатимемо словами. Вважатимемо, що текст завжди починається зі слова. Визначити кількість слів, які починаються з літер «а» або «А».
Чи правильна програма? І як її можна покращити?Тема: "Робота з рядками"