Написать программу, которая высчитывает количество слов и чисел в созданном текстовом файле — Pascal(Паскаль)

uses crt;
var f:text;
    name,s,s1:string;
    i,c,k,ks,kch:integer;
    r:longint;
begin
clrscr;
assign(f,'file1.txt');
write('Имя файла для чтения: ');
readln(name);
name:=name+'.txt';
assign(f,name);
reset(f);
ks:=0;kch:=0;
while not eof(f) do
 begin
  readln(f,s);
  i:=1;
  while i<=length(s) do
  if (s[i]<>' ')and((s[i-1]=' ')or(i=1)) then
  {если не пробел, а перед ним пробел или это первый символ}
   begin
    ks:=ks+1;{считаем все слова}
    k:=i;s1:='';
    while (s[k]<>' ')and(k<=length(s))do {пока не пробел и не конец строки}
     begin
      s1:=s1+s[k];{составляем слово}
      k:=k+1;{идем вперед}
     end;
    val(s1,r,c);{пробуем преобразовать в число}
    if c=0 then kch:=kch+1;{если код ошибки=0, значит число, считаем}
    i:=i+length(s1);{перепрыгиваем через число}
   end
  else i:=i+1;{иначе идем дальше}
 end;
writeln('Общее количество слов=',ks,'  в т.ч. чисел=',kch);
append(f);
writeln(f,'');
write(f,'Obshee kolichestvo slov=',ks,'  v t.ch. chisel=',kch);
close(f);
write('Результат дописан в файл ',name);
readln;
end.

Leave a Comment

91 − 84 =