![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
футбик |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Пол: Мужской Репутация: ![]() ![]() ![]() |
полное описание: Выполнить обработку текста из внешнего текстового файла, созданного в редакторе . Результаты обработки поместить во внешний файл. Определить количество строк в исходном тексте. Проверить имеется ли в каждой строке баланс.
количество строк определил так: var oldf,newf:text; кто знает, подскажите пожалуйста, что означает: проверить имеется ли в каждой строке баланс. Сообщение отредактировано: футбик - 22.10.2008 13:17 |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата что означает: проверить имеется ли в каждой строке баланс. Почему-то есть ощущение, что это не полное предложение... Баланс не может быть сам по себе, должен быть баланс чего-то (открытых/закрытых скобок, например)... Уточни задание у того, кто его тебе дал. |
футбик |
![]()
Сообщение
#3
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Пол: Мужской Репутация: ![]() ![]() ![]() |
в задании была ошибка, нужно проверить баланс скобок, будем разбираться что это означает
![]() |
мисс_граффити |
![]()
Сообщение
#4
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Это значит, что каждой открывающейся скобке поставлена в соответствие закрывающаяся.
Поищи по форуму, такое решалось неоднократно -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
футбик |
![]()
Сообщение
#5
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Пол: Мужской Репутация: ![]() ![]() ![]() |
всегда выводит 'баланс не нарушен', подскажите пожалуйста в чем дело
var oldf,newf:text;{Файловые пеpеменные для |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Во-первых, уточняй, вот это должно признаться как существование баланса, или нет:
)(())( ? Вроде бы количество открытых и закрытых скобок совпадает, но речи о правильной вложенности нет... Во-вторых: readln(oldf, bal); { <--- Раз: читать надо строку из файла }Если нужно контролировать еще и вложенность, то во втором условии (при проверке на закрывающуюся скобку) надо смотреть, а есть ли открытые, то есть, A > 0 или нет... |
футбик |
![]()
Сообщение
#7
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Пол: Мужской Репутация: ![]() ![]() ![]() |
все понял, еще раз спасибо
![]() |
футбик |
![]()
Сообщение
#8
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Пол: Мужской Репутация: ![]() ![]() ![]() |
еще маленький вопросик по файлам, делаю программу, она преобразует текстовый файл в типизированный, элементы которого - вектора из 8 –и чисел типа Integer. Текстовый файл содержит 5 строк по 8 чисел в строке, числа выбирается из интервала [ 0,100] . Не получается преобразовать текст. файл в типиз.
![]() код var f:text; исходный, текстовый файл сделал так: var f:text; заранее благодарен |
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
Цитата { на выходе типиз. файл пустой } Неправда... То, что он содержит Нули (символ NUL, с кодом = 0) - не значит, что он пустой... На размер файла посмотри.Цитата Текстовый файл содержит 5 строк по 8 чисел в строке Опять неправда... Текстовый файл содержит все числа, записанные одно после другого, даже не разделенные пробелами (ты пробелы в текстовый файл не записывал, поэтому не удивляйся, что их там нет), и в одну строку (да, опять не удивляйся, writeln и writeln(f) - это совсем разные вещи)...Если сделать в первой программе так: for i:=1 to 5 do, то будет то, чего ты ждешь: числа, разделенные пробелами, по 8 штук в строке. Теперь по перезаписи в типизированный файл. Вот этого: var x: integer; вполне достаточно. Чтобы не быть привязанным к числу столбцов, можно воспользоваться While not eoln(f) do вместо того For-а, который остался... |
футбик |
![]()
Сообщение
#10
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Пол: Мужской Репутация: ![]() ![]() ![]() |
а почему типизированый файл выдает: '^ L c I M ...', там же должны быть цифры
![]() begin спасибо Сообщение отредактировано: футбик - 29.10.2008 19:10 |
volvo |
![]()
Сообщение
#11
|
Гость ![]() |
Цитата там же должны быть цифры Цифры у тебя были в текстовом файле... В типизированнои информация хранится без перевода в понятную тебе форму, прямо так, как она понятна компьютеру... То есть, просто берется содержимое ячейки памяти, и пишется в файл. Если ты потом открываешь этот файл текстовым редактором - то это твоя ошибка, файл НЕтекстовый, несмотря на расширение, и чтобы просмотреть его, надо либо написать еще одну программу, которая будет читать данные из файла, и показывать их тебе WriteLn-ом (то есть, опять же, переводя это в текстовую форму, удобную тебе), или каким-нибудь Hex-редактором, он покажет тебе содержимое файла "как оно есть", правда в 16-ричной СС... |
футбик |
![]()
Сообщение
#12
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Пол: Мужской Репутация: ![]() ![]() ![]() |
огромное спаибо за предоставленую информацию
![]() |
футбик |
![]()
Сообщение
#13
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Пол: Мужской Репутация: ![]() ![]() ![]() |
помогите пожалуйста еще с файлами, есть проблемка. Нужно разделить все элементы вектора типизированного файла на максимальный элемент, и поместить результат в типиз. файл.
var работает не правильно: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 читаю результат так: var f:file of real; эта прога работает, проверял. Спасибо |
volvo |
![]()
Сообщение
#14
|
Гость ![]() |
Цитата работает не правильно: Естественно... Смотри, что ты делаешь:Цитата // зачем тебе цикл while not eof, ты ж используешь точную Кстати, вопрос на засыпку: ты ничего не хочешь сделать, если максимум в строке = 0? Что тогда будет записываться в файл? Ты ж в этом случае не пишешь ничего в матрицу B... P.S. Форматируй программы, таких ошибок будет меньше... |
футбик |
![]()
Сообщение
#15
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Пол: Мужской Репутация: ![]() ![]() ![]() |
работает . Контрольные по паскалю готовы, спасибо за помощь
![]() |
![]() ![]() |
![]() |
Текстовая версия | 21.07.2025 11:33 |