Предмет: Информатика, автор: lera161102voron

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

Ответы

Автор ответа: 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
3

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


raf1O5: Я ввёл эту строку в программу и у меня всё правильно считает.
raf1O5: Вы не меняли программу?
lera161102voron: Нет. Проверяла все ли правильно списала и ошибок не увидела
raf1O5: в 25 строке между апострофами вы поставили пробел?
raf1O5: 25 строка это строка где записано if s[i] = ' '
lera161102voron: Заработало) Спасибо огромное
raf1O5: В 20 строке тоже нужно поставить пробел
raf1O5: Вот как она выглядит if s[j+1] = ' '
raf1O5: Ещё я исправил ошибку. Теперь можно вводить цифры перед словами в начале предложения
raf1O5: Исправленный вариант в ответе.
Похожие вопросы
Предмет: Литература, автор: malikasadritdinovna8