Главное меню  

   

Авторизация  

   
   
Хостинг в Украине
   


48.6%Russian Federation Russian Federation
19.4%United States United States
18.5%Ukraine Ukraine
2.1%Belarus Belarus
1.7%Kuwait Kuwait
1.6%Kazakhstan Kazakhstan
1.2%Romania Romania
1.1%France France
1%Czech Republic Czech Republic
0.5%United Kingdom United Kingdom

Сегодня: 14
Вчера: 236
На этой неделе: 903
На прошлой неделе: 1276
В этом месяце: 2772
В прошлом месяце: 6471
Всего: 16148


   

Учитель информатики Бамбуркин С.П.

Записи

  • Главная
    Главная Страница отображения всех блогов сайта
  • Категории
    Категории Страница отображения списка категорий системы блогов сайта.

Программирование обработки строк символов

Добавлено : Дата: в разделе: 10 класс

1. Дана строка, заканчивающаяся точкой. Подсчитать, сколько слов в строке.

var s:string;
c,k:byte;
begin
c:=0;
{Пока у вводимой строке нет точки, продолжаем вводить}
repeat
if c<>0 then writeln('Нет точки или в строке одна точка. Введите строку с точкой и длиной больше 1 символа');
writeln('Введите несколько слов заканчивающихся точкой:');
readln(s);
inc(c)
until s[length(s)]='.';
{Во избежание того, что бы не посчитать слово между двумя пробелами, ведь если просто
считать пробелы в строке, то отправив строку с одими пробелами можно получить неожиданый результат, удаляем места, где есть два пробела и оставляем один}
c:=pos('__',s); {тут __=два пробела}
while c<>0 do
begin
delete(s,c+1,1);
c:=pos('__',s) {тут __=два пробела}
end;
{На всякий случай удаляем пробелы (если они есть) с начала строки и перед точкой}
if s[1]=' ' then delete(s,1,1);
if s[length(s)-1]=' ' then delete(s,length(s)-1,1);
{Проводим сам подсчет}
c:=1;
k:=pos(' ',s);
while k<>0 do
begin
delete(s,k,1);
inc(c);
k:=pos(' ',s);
end;
writeln('Слов:',c);
writeln('Конец');
end.

Редактировалось Дата:

Добавить комментарий


Защитный код
Обновить

   
© 2012 fordus.