Составить программку на Паскале. Задача: Составить программу, которая подсчитывает количество цифрсимволов перед и после запятой. То есть, наприм

Нужно составить программку на Паскале.Задача: Составить программу, которая подсчитывает количество цифр(символов) перед и после запятой. То есть, например, дано число 325,43Программа должна выдать:

3, а затем, 2

  • var n:real;
         m,k1,k2:integer;
    begin
     readln (n);
     m:=trunc(n);
     k1:=0;
     if (m=0) then k1:=1 else
      while (m0) do
       begin
         m:=m div 10;
         inc(k1);
       end;
     n:=n-trunc(n);
     k2:=0;
     while (frac(n)0) do
      begin
       n:=n*10;
       inc(k2);
      end;
     writeln (k1,’ ‘,k2);end.

    У меня вот такие наработки, целую часть считает стабильно, а вот с дробной во многих случаях — фиаско, связано наверное с особенностями хранения вещественных чисел в памяти компьютера.Додумался, можно заменить ввод числа вводом строкиvar s:string;

          k1,k2:integer;
    begin
      readln (s);
      k1:=0;
      k2:=0;  if (s[1]=’-‘) or (s[1]=’+’) then delete (s,1,1);

      if (pos(‘.’,s)=0) then k1:=length(s)

      else    begin      k1:=pos(‘.’,s)-1;     delete (s,1,pos(‘.’,s));     k2:=length(s);   end;

      writeln (k1,’ ‘,k2);

    end.