3 / 3 / 1
Регистрация: 20.10.2009
Сообщений: 49
1

Написать функцию для подсчета слов в предложении

02.01.2010, 14:12. Показов 1494. Ответов 2
Метки нет (Все метки)

Создайте функцию, которая возвращает количество слов в предложении, что служит ей параметром
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.01.2010, 14:12
Ответы с готовыми решениями:

Написать программу для подсчета слов в строке
Дана строка, содержащая несколько слов ,разделенных одним пробелом. В начале строки и в конце...

Написать программу подсчета числа слов в произвольной строке
№1 Строки: Написать программу подсчета числа слов в произвольной строке. В качестве разделителя...

Написать программу, которая подсчитывает количество слов в предложении.
вот задача . Предложение состоит из слов-строк. Написать программу, которая подсчитывает количество...

Разработать программу для подсчета слов в строке
Всем привет! Помогите создать программу для подсчета слов ,длинной 5 символов,в строке. Спасибо!)

2
4341 / 1473 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
02.01.2010, 14:14 2
Лучший ответ Сообщение было отмечено Pavlo как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function count(st:string):integer;
var buf:string;
begin
 count:=1;
 repeat
  if (st[1]=' ') or (length(st)=0) then while st[1]=' ' do delete(st,1,1)
  else
  begin
   while (st[1]<>' ') and (length(st)>0) do
   begin
    buf:=buf+st[1];
    delete(st,1,1);
   end;
  buf:='';
  inc(count);
  end;
 until (length(st)=0) and (length(buf)=0);
 count:=count-1;
end;
1
Retired
7726 / 2558 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
02.01.2010, 16:28 3
Можно и чуть короче. Вот функция для случая когда в строке слова разделены только пробелами
Pascal
1
2
3
4
5
6
7
8
9
10
function CWords(S:String):integer;
var
  c,i:integer;
begin
  c:=0;
  for i:=2 to Length(S) do
    if ((S[i]=' ') and (S[i-1]<>' ')) or ((i=Length(s)) and (s[i]<>' ')) then
      inc(C);
  CWords:=C
end;
а вот для случая когда слова разделены многими разделителями
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
function CWords(S:String):integer;
const
  dividers=[' ','.',',',':'];{äîïèñàòü íóæíûå ðàçäåëèòåëè}
var
  c,i:integer;
begin
  c:=0;
  for i:=2 to Length(S) do
    if ((S[i] in dividers) and not (S[i-1] in dividers)) or ((i=Length(s)) and not (s[i] in dividers)) then
      inc(C);
  CWords:=C
end;
Вот программа целиком
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function CWords(S:String):integer;
var
  c,i:integer;
begin
  c:=0;
  for i:=2 to Length(S) do
    if ((S[i]=' ') and (S[i-1]<>' ')) or ((i=Length(s)) and (s[i]<>' ')) then
      inc(C);
  CWords:=C
end;
var
  S:String;
begin//îñíîâíàÿ ïðîãðàììà
  ReadLn(s);
  WriteLn('Â ñòðîêå ñëîâ: ',CWords(Trim(s)))
end.
не забываем про Trim, его конечно можно вписать в функцию, но мне так было удобней. Использование данной функции необязательно, но с её использование при наличии пробелов в начале и в конце строки цикл будет короче.
k1ry4, функции лучше присваивать значение только 1 раз
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.01.2010, 16:28
Помогаю со студенческими работами здесь

Известно, что слова в предложении отделены пробелами. Сколько слов в предложении
Помогите пожалуйста сделать программу без использования глобальных переменных. program lab_7;...

программа для подсчета, сколько N-символьных слов (число N вводится пользователем) содержится во введенной строке символов
нужна программа для подсчета, сколько N-символьных слов (число N вводится пользователем) содержится...

Для каждого из слов заданного предложения указать, сколько раз оно встречается в предложении
Задание по строкам... 1.Для каждого из слов заданного предложения указать, сколько раз оно...

Описать функцию count(t) для подсчета числа символа «*» в каждой строке текстового файла
19) Пусть текстовый файл разбит на непустые строки. Описать функцию count(t) для подсчета числа...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru