fork(2) download
  1. {$mode objfpc}
  2. uses Classes, SysUtils, StrUtils;
  3.  
  4. function ReadLine(): String;
  5. begin
  6. ReadLn(Result);
  7. end;
  8.  
  9. function OnlyLetters(Str: String): String;
  10. var Element: Char;
  11. begin
  12. Result := '';
  13. for Element in Str do
  14. begin
  15. if Element in ['a'..'z', 'A'..'Z'] then
  16. begin
  17. Result += Element;
  18. end;
  19. end;
  20. end;
  21.  
  22. var Line: String;
  23. var Tokens: TStringList;
  24. var Token: String;
  25. var ConjuctionsCounter: Integer;
  26. begin
  27. Tokens := TStringList.Create;
  28. Tokens.Delimiter := ' ';
  29.  
  30. while not EOF() do
  31. begin
  32. Tokens.DelimitedText := ReadLine();
  33. for Token in Tokens do
  34. begin
  35. if AnsiMatchStr(LowerCase(OnlyLetters(Token)),
  36. ['i', 'lub', 'albo', 'lecz',
  37. 'ale', 'na', 'zatem', 'bo',
  38. 'dlatego', 'oraz'
  39. ]) then
  40. begin
  41. Inc(ConjuctionsCounter);
  42. end;
  43. end;
  44. end;
  45. WriteLn(ConjuctionsCounter);
  46. end.
Success #stdin #stdout 0s 796KB
stdin
Dlaczego? 
Dlatego! 
Na tego winowajce lub zdrajce oraz szuje zatem ruszymy, 
bo nie ma co czasu marnowac.
stdout
6