(***********************************************************
*                                                          *
*  DCV na PGM                                              *
*                                                          *
*  Autor: Jan Pacner                                       *
*                                                          *
*  Zadani:                                                 *
*    zadame vetu (string),                                 *
*    program vypise pocet znaku? (mezera se nepocita)      *
*    a pocet pismen                                        *
*                                                          *
*  made 24.2.2008 20:05 and last modified 24.2.2008 21:35  *
*                                                          *
***********************************************************)

program veta_beze_mezer;

var
input,output:string[99];
pruchod:byte;
pismen:integer;
//pocet:byte;

begin
writeln ('napis nejakou vetu a ja Ti ji vypisu bez mezer');
pismen:=0;
readln (input);

(* PRVNI zpusob (velmi pomaly ale 100% spolehlivy) *)
for pruchod:=1 to length(input) do
  begin
    if not(input[pruchod]=' ')
      then output:=concat(output,copy(input,pruchod,1));
  end;
writeln (length(output));

(* pocet pismen *)
for pruchod:=1 to length(input) do
  begin
    if   (input[pruchod]      in ['A'..'Z'])
      or (input[pruchod]      in ['a'..'z'])
      or (ord(input[pruchod]) in [195..197]) then pismen:=pismen+1;
  end;
writeln ('pocet pismen v zadane vete je: ',pismen);


(* DRUHY zpusob (ve velkem textu mnohonasobne rychlejsi,
   ve velmi kratkem textu (cca 5 mezer) pomalejsi nez vyse uvedeny) *)
//pocet:=0;
pismen:=0;
repeat
for pruchod:=1 to length(input) do
  begin
    if input[pruchod]=' ' then
    begin
      delete(input,pruchod,1);
    end;
  end;
//pocet:=pocet+1;
until pos(' ',input)=0;
//writeln ('po ',pocet,' prochodech timto cyklem');
writeln (length(input));

readln;
end.
„Snažme se žít tak, aby naší smrti litoval i majitel pohřební služby.“ Mark Twain