IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Как подсчитать количество слов в строке?
Shmaniche
сообщение 9.06.2010 7:46
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 79
Пол: Мужской

Репутация: -  0  +


Есть следующая наработка:

Program;
uses crt;
var s: string; i, n, l: integer;
begin
clrscr;
write('Enter string:'); readln(s);
l:=length(s);
if l=0 then n:=0 else n:=1;
for i:=1 to l do
if (s[i]=' ') then n:=n+1;
writeln('Words in string =', n);
Readkey;
end.



Все врое бы ОК. Пробел - разделитель (что по условию задачи верно). Пишет "0 слов", если ничего не введешь или "1 слово", если введешь одно. Но если введешь "слово" [пробел] "слово" [пробел] " ", то программа скажет, что введено 3 слова, хотя его нет после второго проблела.
Как сделать так, чтобы программа считала верно в таком случае?

Сообщение отредактировано: Lapp - 9.06.2010 8:15
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
prevedmuraved
сообщение 9.06.2010 8:16
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 17
Пол: Мужской
Реальное имя: pavel

Репутация: -  0  +



Program;
uses crt;
var s: string; i, n, l: integer;
begin
clrscr;
write('Enter string:'); readln(s);
l:=length(s);
if l=0 then n:=0 else n:=1;
for i:=1 to l do
if (s[i]=' ')and(i<l) then n:=n+1;
writeln('Words in string =', n);
Readkey;
end.



попробуй так... cool.gif

М
ну я уже устал ставить тэги, неужели так трудно сделать правильно??
Lapp



--------------------
Жизнь хитра - когда у меня на руках все карты,
она внезапно решает играть в шахматы.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 9.06.2010 8:34
Сообщение #3


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(prevedmuraved @ 9.06.2010 9:16) *
попробуй так... cool.gif

а если строка такая: "слово_слово____", - тогда что? smile.gif

(пробелы заменены на _ )


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Shmaniche   Как подсчитать количество слов в строке?   9.06.2010 7:46
Ozzя   Разбиение на слова. Все способы.   9.06.2010 8:09
J.Bond_33   как вариант сначала удалять все пробелы до слов, и...   9.06.2010 8:09
prevedmuraved   Program; uses crt; var s: string; i, n, l: intege...   9.06.2010 8:16
Lapp   попробуй так... :cool: а если строка такая: ...   9.06.2010 8:34
Shmaniche   Program; uses crt; var s: string; i, n, l: integ...   9.06.2010 12:12
J.Bond_33   попробуй так Program; uses crt; var s: string; i, ...   9.06.2010 8:40
Lapp   нет, J.Bond_33, и так не пойдет тоже... )) Посмо...   9.06.2010 8:57
J.Bond_33   про это не подумал...Program; uses crt; var s: str...   9.06.2010 9:05
volvo   J.Bond_33 Эту программу можно в 2 раза короче сдел...   9.06.2010 9:13
Lapp   Вот вся твоя задача.. Две строчки: n:=0; for ...   9.06.2010 14:36
Shmaniche   Вот вся твоя задача.. Две строчки: n:=0; for...   10.06.2010 6:36
Lapp   Error: type mismatch. При этом: s: string; i, n: i...   10.06.2010 7:08
Lapp   Error: type mismatch. При этом: s: string; i, n: ...   10.06.2010 7:12
Lapp   Сейчас не могу проверить, попозже.Проверил. Нет,...   10.06.2010 8:57
Сергей Меркурьев   var n, i : integer; s : string; begin Wri...   10.06.2010 7:08
Shmaniche   var n, i : integer; s : string; begin Wr...   10.06.2010 9:20
Lapp   Все ок. Turbo перегрузил, перестал ругаться :)Ой, ...   10.06.2010 9:52


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.07.2025 11:18
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"