Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.03.2010, 15:10   #1
Светочка132
Новичок
Джуниор
 
Регистрация: 27.03.2010
Сообщений: 1
По умолчанию подсчёт слов

Проверьте программу подсчёта слов в тексте

Program podschet;
var
i,kol:integer;
b:boolean;
st:string;
BEGIN
readln(st);
kol:=0;
b:=false;
for i:=1 to length(st) do
if (st[i]<>' ')and( b = false )
then
begin
b:=true;
kol:=kol+1;
end;
else b:=false;
Writeln('kolishestvo slov=',kol);
Readln(kol);
End.


у меня просто программа не различает один пробел от двух.жду мнений по компилированию
Светочка132 вне форума Ответить с цитированием
Старый 27.03.2010, 15:59   #2
Cannibal
Форумчанин
 
Регистрация: 17.02.2008
Сообщений: 191
По умолчанию

Вначале надо удалить все группы пробелов >1
Код:
program Zadacha;
var
  s:string;{исходная строка}
  Tstr:string;{временная строка. будем использовать при подсчете слов}
  P:integer;{позиция символа, который ищем}
  K:integer;{Счетчик слов}

begin
  writeln('введите строку');
  readln(s);
  tStr:=s;
{убираем лишние пробелы, чтобы не мешали при подсчете слов}
  repeat
    p:=pos('  ',tstr); {Находим позицию первого двойного пробела}
    delete(tstr,p,2);{Удаляем двойной пробел}
    insert(' ',tstr,p);{И вставляем вместо него одинарный}
  until p=0;
  if tstr[length(tstr)]=' ' then
    delete(tstr,length(tstr),1);{удаляем концевой пробел}
  if tstr[1]=' ' then
    delete(tstr,1,1);{удаляем ведущий пробел}
{Подсчитываем слова}
  if (tstr=' ') or (tstr='') then
    k:=0{Если была введена пустая строка или строка пробелов}
  else
  begin
    k:=0;
    repeat
      P:=pos(' ',tstr); {Ишем вхождение пробела}
      k:=k+1;     {Увиличиваем счетчик}
      delete(tstr,1,p);{Удаляем первое слово с пробелом, стобы не мешало}
    until p=0;
  end;
  Writeln('Количество слов = ',k);
end.
Mathematicians often mix up Christmas and Halloween, because Dec.25=Oct.31.
Cannibal вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подсчёт слов neBu4kaMaXiM Фриланс 13 18.03.2010 18:11
Дана строка, состоящая из нескольких слов. Найти количество слов, которые содержат хотя бы одну букву "А" Mashaa Помощь студентам 13 09.12.2009 13:28
по вводу слов в массив и подсчёт введённых слов -ushёl- Общие вопросы C/C++ 4 16.11.2009 00:45
Составить в алфавитном порядке список всех слов, встречающихся в тексте, и количество этих слов. KAPAHDAW Паскаль, Turbo Pascal, PascalABC.NET 2 17.02.2009 01:19
Подсчёт трафика Альберт Работа с сетью в Delphi 2 10.09.2007 11:35