вычислить хэш для каждого слова |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
вычислить хэш для каждого слова |
*оля* |
1.05.2010 15:22
Сообщение
#1
|
Пионер Группа: Пользователи Сообщений: 125 Пол: Женский Репутация: 1 |
что-то не правильно:
. |
Client |
1.05.2010 15:36
Сообщение
#2
|
Профи Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: 20 |
read(f, ch);Читаешь символ и получается вечный цикл (если только ch <> ' ') Сообщение отредактировано: Client - 1.05.2010 15:37 |
*оля* |
1.05.2010 15:43
Сообщение
#3
|
Пионер Группа: Пользователи Сообщений: 125 Пол: Женский Репутация: 1 |
read(f, ch);Читаешь символ и получается вечный цикл (если только ch <> ' ') нужно, чтобы читал символы пока он не равен пробелу, потом считал для полученнго слова хэш, а после, нужно, чтобы он начинал читать с символа после пробела. Как правильно организовать цикл? |
volvo |
1.05.2010 17:45
Сообщение
#4
|
Гость |
ch := ' '; // это текущий символ, сначала равен пробелу... Так? |
*оля* |
1.05.2010 18:09
Сообщение
#5
|
Пионер Группа: Пользователи Сообщений: 125 Пол: Женский Репутация: 1 |
Так? , да, если вводить с клавиатуры, то работает, как надо! спасибо! а вот если дан файл, то работает для первой строчки только, возможно, потому что в описании написано file of char; а у меня file of string; тогда как поступить? можно его предварительно из file of string; преобразовать в file of char;? или тут вообще причина не в этом? |
volvo |
1.05.2010 18:23
Сообщение
#6
|
Гость |
Но для первой строчки работает правильно? Тогда просто "оберни все это еще и циклом
while not eof(f) do Не заморачивайся с этими file of char/file of string. У тебя файл текстовый? Вот и пиши: Text. |
*оля* |
1.05.2010 19:05
Сообщение
#7
|
Пионер Группа: Пользователи Сообщений: 125 Пол: Женский Репутация: 1 |
Но для первой строчки работает правильно? Тогда просто "оберни все это еще и циклом while not eof(f) do Не заморачивайся с этими file of char/file of string. У тебя файл текстовый? Вот и пиши: Text. сделала еще один цикл, так-то работает, но, если в файле, допутим, написано слово, потом нажат энтер и следующее слово, то считается, как-будто это одно слово, возможно как-то это исправить? |
Client |
1.05.2010 19:18
Сообщение
#8
|
Профи Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: 20 |
while not eof(f) do begin Сообщение отредактировано: Client - 1.05.2010 19:18 |
*оля* |
1.05.2010 19:54
Сообщение
#9
|
Пионер Группа: Пользователи Сообщений: 125 Пол: Женский Репутация: 1 |
что-то не могу найти ошибки, но они есть...
. |
Client |
1.05.2010 20:03
Сообщение
#10
|
Профи Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: 20 |
вечный цикл, однако
w := '';Попробуй выполнить покомандно (F7), увидишь что да как |
*оля* |
1.05.2010 20:51
Сообщение
#11
|
Пионер Группа: Пользователи Сообщений: 125 Пол: Женский Репутация: 1 |
вечный цикл, однако w := '';Попробуй выполнить покомандно (F7), увидишь что да как спасибо, F7 оказалась очень полезной)) правда с программой так и не разобралась, оставила первоначальную, просто до этого в каждой строчке дописала по пробелу |
Текстовая версия | 13.05.2024 11:10 |