• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Обработка строк

  • Автор темы Автор темы Lakki
  • Дата начала Дата начала

Lakki

Ученик
Регистрация
20 Окт 2009
Сообщения
8
Реакции
0
Баллы
0
Обработка строк

Дана строка, состоящая из латинских слов, разделенных пробелами. Определить количество слов в строке.
 
Дана строка, состоящая из латинских слов, разделенных пробелами. Определить количество слов в строке.

Поскольку не совсем понятно, что значит "дана строка" (в каком виде "дана"? содержится в файле? вводится с консоли? пишется в теле программы?) я сделал ввод, исходя из того, что строка содержится в файле по имени sss, находящемся на диске D: . Если надо иначе, переделаете.
В программе отрабатывается ситуация, когда между словами находится не один, а несколько пробелов. Допустимо.

VAR
S:STRING;
F:TEXT;
i,N_W:BYTE;

BEGIN
Assign(f, 'D:\sss');
ReSet(f);
ReadLn(f,S);
Close(f);

N_W:=0;
i:=0;
REPEAT
REPEAT
INC(i);
UNTIL (S=' ') OR (i=Length(S));
INC(N_W);
IF i<Length(S) THEN
REPEAT
INC(i)
UNTIL (S<>' ');
UNTIL i=Length(S);
WriteLn('String contains ',N_W,' words');
ReadLn;
END.
 
Назад
Сверху