Строки в текстовом файле., Помогите найти ошибку пожалуйста. |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Строки в текстовом файле., Помогите найти ошибку пожалуйста. |
Ellsa |
9.12.2006 17:22
Сообщение
#1
|
lehf Группа: Пользователи Сообщений: 115 Пол: Женский Репутация: 4 |
Здравствуйте всем!Пожалуйста,помогите мне немного...у меня курсач звучит так:
разработать программу анализа текстового файла:определение средней длины слова в каждой строке и формирование файла средних длин построчно.Предусмотреть проверку существования файла и файла частот с выдачей диагностических сообщений. я решила сначала составить программу для одной строки. Код program dddd; var str:string; kol,k,i,n,c,sred:real; begin readln(str); n:=length (str); i:=1; kol:=0; while i<=n do begin k:=0; repeat k:=k+1; i:=i+1; until (str[i]=' ') or (i>n); kol:=kol+k; i:=i+1; end; writeln(kol); for i:=1 to n do if (str[i]=' ') then c:=c+1; if (str[1]=' ') then c:=c-1; if str[n]=' ' then c:=c-1; writeln(c+1); sred:=kol/(c+1); end. но он выдает ошибку на until (str[i]=' ') or (i>n);,а именно на квадратной скобке tupe mismatch пишет. Просто когда я не начинала считать среднее значение-программа шла и все верно считала.А теперь перестала.Я не могу понять,что ему не нравится. и еще вопросик...не подскажите,что значит:Предусмотреть проверку существования файла и файла частот с выдачей диагностических сообщений?Проверку существования файла проверяют функцией IOResult? А файл частот-это что такое? Спасибо заранее. |
Bokul |
10.12.2006 22:02
Сообщение
#2
|
Гуру Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: 11 |
Цитата просто дело в том,что цикл работал и считал правильно для одной строки....безошибочно...а теперь.... Во-первых, у тебя к разделителям слов относится только пробел, а как же другие знаки пунктуации? Для каждого будешь делать свою проверку? Во-вторых, в твоей проге не учтено много ситуаций, например какой ответ будет при такой строке: ааа ааа ? Должно выдать 3, но так как между словами 2 пробела, твоя прога даст 2... А если строка будет состоять только из одного пробела, она вообще вылетит с ошибкой Division by zero, - деление на ноль. Так что возьми мой код и не мучься. Сообщение отредактировано: Bokul - 10.12.2006 22:02 -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
Ellsa |
10.12.2006 22:05
Сообщение
#3
|
lehf Группа: Пользователи Сообщений: 115 Пол: Женский Репутация: 4 |
|
Текстовая версия | 3.10.2024 3:04 |