Информатика, вопрос задал lera161102voron , 7 лет назад

Написать программу для решения задачи. Дана строка, содержащая текст. Сколько слов в тексте? Сколько цифр в тексте?

Ответы на вопрос

Ответил spirit95
0

Ответ:

{подсчёт числа символов цифр в строке}

var s:string;  i,n:Integer;

begin

    readln(s);

    n := 0;

    for i:=1 to Length(s) do begin // обходим строку в цикле

        if (s[i]>='0')and(s[i]<='9') then inc(n);

    end;

   writeln('This string contains ',n,' digits.'); // выводим массив

end.

Ответил raf1O5
0

program raf105;

var

 s,s1,s2: string;

 slov,numb,i,j,l: integer;

begin

writeln('Введите строку:');

readln(s);

s:= lowercase(s);

s1:= 'йцукенгшщзхъфывапролджэячсмитьбюёqwertyuiopasdfghjklzxcvbnm';

s2:= '1234567890';

while j<>-1 do

begin

 j+= 1;

 l+= 1;

 for i:=1 to length(s1) do

   if (s[j] = s1[i]) and (slov = 0)

     then slov+= 1

     else if (i<=length(s2)) and (s[j] = s2[i])

     then numb+=1;

 if s[j+1] = ' '

   then j:= -1;

end;

for i:=l+1 to length(s) do

begin

 if s[i] = ' '

   then

   begin

     for j:=1 to length(s1) do

       if s[i+1] = s1[j]

         then slov+= 1;

   end

   else

   begin

     for j:=1 to length(s2) do

       if s[i] = s2[j]

         then numb+=1;

   end;;

end;

writeln;

writeln('В строке:');

writeln(slov,' сл.');

writeln(numb,' циф.');

end.

Язык PascalABC

Ответил lera161102voron
0
Заработало) Спасибо огромное
Ответил raf1O5
0
В 20 строке тоже нужно поставить пробел
Ответил raf1O5
0
Вот как она выглядит if s[j+1] = ' '
Ответил raf1O5
0
Ещё я исправил ошибку. Теперь можно вводить цифры перед словами в начале предложения
Ответил raf1O5
0
Исправленный вариант в ответе.
Новые вопросы