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

0 голосов
24 просмотров

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


Информатика (80 баллов) | 24 просмотров
Дано ответов: 2
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);</p>

    end;

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

end.

(353 баллов)
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])</p>

     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

(2.1k баллов)
0

Я ввёл эту строку в программу и у меня всё правильно считает.

0

Вы не меняли программу?

0

Нет. Проверяла все ли правильно списала и ошибок не увидела

0

в 25 строке между апострофами вы поставили пробел?

0

25 строка это строка где записано if s[i] = ' '

0

Заработало) Спасибо огромное

0

В 20 строке тоже нужно поставить пробел

0

Вот как она выглядит if s[j+1] = ' '

0

Ещё я исправил ошибку. Теперь можно вводить цифры перед словами в начале предложения

0

Исправленный вариант в ответе.