Главное меню  

   

Авторизация  

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


62.7%Russian Federation Russian Federation
17%Ukraine Ukraine
3.1%Kazakhstan Kazakhstan
2.9%Romania Romania
2.6%United States United States
1.8%Belarus Belarus
1.2%Republic Of Moldova Republic Of Moldova
1%Czech Republic Czech Republic
0.9%United Kingdom United Kingdom
0.8%France France

Сегодня: 3
Вчера: 107
На этой неделе: 522
На прошлой неделе: 1004
В этом месяце: 3776
В прошлом месяце: 2874
Всего: 8160


   

блог админа

Записи

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

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

Добавлено : Дата: в разделе: 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.

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

You have no rights to post comments

   
© 2012 fordus.