«Русский Форум» :: Просмотр темы - Число слов в строке

success
fail

Feb | MAR | Apr
| 24 |
2006 | 2007 | 2008

About this capture
COLLECTED BY
Organization: Alexa Crawls
Starting in 1996, Alexa Internet has been donating their crawl data to the Internet Archive. Flowing in every day, these data are added to the Wayback Machine after an embargo period.
Collection: 38_crawl
this data is currently not publicly accessible.
TIMESTAMPS

«Русский Форум»
Программирование по-русски.

FAQ Поиск Пользователи Группы Регистрация
Профиль Войти и проверить личные сообщения Вход

Число слов в строке

| Список форумов «Русский Форум» -> Новые решения

Предыдущая тема :: Следующая тема
Автор | Сообщение
--- | ---

Сый
Администратор
Зарегистрирован: 05.10.2005
Сообщения: 311

Добавлено: Пт Июл 14, 2006 15:34 Заголовок сообщения: Число слов в строке |

Вычисляем число слов в строке, после чего размещаем их в ряду, выводя на экран:

Код:

ОТДЕЛ ЧислоСлов+;
ИСПОЛЬЗУЕТ
Знак ИЗ "...\Отделы\Иное\",
Цепь ИЗ "...\Отделы\Иное\",
Вывод ИЗ "...\Отделы\Обмен\";
ВИД
Доступ = ДОСТУП К РЯД ИЗ ЦЕПЬ;
ПЕР
Строка: ЦЕПЬ[100];
Слов: ЦЕЛ; (* число слов *)
Слова: Доступ; (* слова *)
Счётчик, СчСлов: ЦЕЛ; Слово: КЛЮЧ;
ДлинаСлова, ДлинаСлова1: ЦЕЛ;
ЗАДАЧА СклонениеЧ(Число: ЦЕЛ; сл1-, сл2-, сл3-: РЯД ИЗ ЗНАК);
УКАЗ
Вывод.ЧЦел("%d ", Число, 0, 0, 0);
ЕСЛИ (Число ОСТАТОК 100 >= 5) И (Число ОСТАТОК 100 <= 20) ТО Вывод.Цепь(сл3)
ИНАЧЕ
ЕСЛИ Число ОСТАТОК 10 = 1 ТО Вывод.Цепь(сл1)
АЕСЛИ (Число ОСТАТОК 10 >= 2) И (Число ОСТАТОК 10 <= 4) ТО Вывод.Цепь(сл2)
ИНАЧЕ Вывод.Цепь(сл3)
КОН;
КОН
КОН СклонениеЧ;
УКАЗ
Строка := "Определяем количество слов в предложении...";
Слов := 0; ДлинаСлова := 0; ДлинаСлова1 := 0;
ОТ Счётчик := 0 ДО ДЛИНА(Строка)-1 ВЫП
ЕСЛИ Знак.Буква(Строка[Счётчик]) ТО
ЕСЛИ Слов = 0 ТО УВЕЛИЧИТЬ(Слов); Слово := ВКЛ; УВЕЛИЧИТЬ(ДлинаСлова)
АЕСЛИ НЕ Слово ТО УВЕЛИЧИТЬ(Слов); Слово := ВКЛ; УВЕЛИЧИТЬ(ДлинаСлова1)
ИНАЧЕ УВЕЛИЧИТЬ(ДлинаСлова1) КОН
ИНАЧЕ
ЕСЛИ ДлинаСлова1 > ДлинаСлова ТО ДлинаСлова := ДлинаСлова1 КОН;
ДлинаСлова1 := 0; Слово := ОТКЛ
КОН
КОН;
Вывод.Цепь("В строке "); СклонениеЧ(Слов, "слово", "слова", "слов"); Вывод.Цепь(":^");
СОЗДАТЬ(Слова, Слов, ДлинаСлова+1); Вывод.Цепь("^");
ОТ Счётчик := 0 ДО ДЛИНА(Строка)-1 ВЫП
ЕСЛИ Знак.Буква(Строка[Счётчик]) ТО
Цепь.ДобавитьЗнак(Слова^[СчСлов], Строка[Счётчик]); Слово := ВКЛ
ИНАЧЕ
ЕСЛИ Слово = ВКЛ ТО Вывод.Цепь(Слова^[СчСлов]); Вывод.Цепь("^"); УВЕЛИЧИТЬ(СчСлов) КОН;
Слово := ОТКЛ
КОН
КОН
КОН ЧислоСлов.

Вернуться к началу

Иврагим
Гость

Добавлено: Пн Янв 08, 2007 14:29 Заголовок сообщения: |

А как в данном случае сделать, чтобы строка передавалась в параметрах к программе? Т.е. пользователь вводит строку сам, иначе используется готовая. Последний раз редактировалось: Иврагим (Пн Фев 26, 2007 15:04), всего редактировалось 1 раз

Вернуться к началу

Сый
Администратор
Зарегистрирован: 05.10.2005
Сообщения: 311

Добавлено: Пн Янв 08, 2007 16:43 Заголовок сообщения: |

Отдел "Параметр", задача "Текст".

Вернуться к началу

Иврагим
Гость

Добавлено: Пн Фев 26, 2007 15:06 Заголовок сообщения: |

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

Вернуться к началу

Показать сообщения:

| Список форумов «Русский Форум» -> Новые решения | Часовой пояс: GMT + 3
Страница 1 из 1

Перейти:

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