1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
| Ozzя |
Сообщение
#21
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: 16 |
Можно проще. Сразу при считывании строк из файла находи минимальные из них.
|
| Clerick |
Сообщение
#22
|
![]() студент.. ![]() ![]() ![]() Группа: Пользователи Сообщений: 287 Пол: Мужской Реальное имя: Дмитрий Репутация: 2 |
Считывание строк в цикле?
-------------------- После дождя обязательно выглянет солнце)
|
| Ozzя |
Сообщение
#23
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: 16 |
Ну да
while not eof(f) do |
| мисс_граффити |
Сообщение
#24
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
"найти самые короткие строки" - это вывести их номера или их сами?
Сообщение отредактировано: мисс_граффити - -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
| Clerick |
Сообщение
#25
|
![]() студент.. ![]() ![]() ![]() Группа: Пользователи Сообщений: 287 Пол: Мужской Реальное имя: Дмитрий Репутация: 2 |
Цитата(мисс_граффити @ 25.03.2006 20:59) вывести их номера или их сами Номера! to Оззя uses Выводит 4. text.txt: 6 5 4 5 6 4 4 5 6 2 3 6 7 7 8 3 4 4 1 3 4 4 2 3 3 3 3 3 3 1 Где опять лопухнулся? Сообщение отредактировано: volvo - -------------------- После дождя обязательно выглянет солнце)
|
| мисс_граффити |
Сообщение
#26
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
если номера - тогда лучше правда массив...
она тебе выводит длину минимальной строки... а чему она должна быть равна? у меня с тем же текстом выводит 3: то есть правильно (последняя строка: 3 пробел 1). может, у тебя там еще какой-то символ? Сообщение отредактировано: мисс_граффити - -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
| Clerick |
Сообщение
#27
|
![]() студент.. ![]() ![]() ![]() Группа: Пользователи Сообщений: 287 Пол: Мужской Реальное имя: Дмитрий Репутация: 2 |
у меня с тем же текстом выводит 3: то есть правильно (последняя строка: 3 пробел 1). может, у тебя там еще какой-то символ? Да нет вроде ничего нет. Хотя сейчас посмотрю. Все теперь все в норме! А как вывести номер строки? Сообщение отредактировано: Clerick - -------------------- После дождя обязательно выглянет солнце)
|
| мисс_граффити |
Сообщение
#28
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
для этого его надо отслеживать.
например, делай так, как изначально собирался - через массив и выводи номера минимальных элементов. только здесь возникнет вопрос по поводу размера массива... -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
| hardcase |
Сообщение
#29
|
![]() code warrior ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 484 Пол: Мужской Реальное имя: Славен Репутация: 8 |
Нужно просто считать итерации и запоминать итерацию, на которой обнаружена самая короткая сторока.
кроме того у вас ошибка вот здесь: assign (f, 'text.txt'); -------------------- ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
|
| мисс_граффити |
Сообщение
#30
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
Нужно просто считать итерации и запоминать итерацию, на которой обнаружена самая короткая сторока. кроме того у вас ошибка вот здесь... у нас по условию таких строк несколько. сколько именно - заранее не знаем. по-хорошему, надо проверять, есть ли вообще этот файлик ;) -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
| hardcase |
Сообщение
#31
|
![]() code warrior ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 484 Пол: Мужской Реальное имя: Славен Репутация: 8 |
у нас по условию таких строк несколько. сколько именно - заранее не знаем. Так в чём проблема? Формируем список, каждый элемент которого будет содержать индекс строки. Вот и алгоритм: Если нашли строку короче, чем были до этого, то гробим предидущий список, и создаём новый (из 1 элемента) который заносим текущй индекс, если строка по длине такая же, то добавляем в текущий список. В конце просто выбрасываем этот список на печать. program FindAllMinStrings; Вот собсна. Делфю грузить неохота, но должно работать. Сообщение отредактировано: volvo - -------------------- ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
|
| мисс_граффити |
Сообщение
#32
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
Вот собсна. Делфю грузить неохота, но должно работать. Возможно... хотя у меня делфи на Assign ругается - предпочитает AssignFile. Но проблема в том, что списки в школе и в неспециализированных вузах не дают обычно. Сомневаюсь, что Clerick с ними сталкивался... соответственно, так решенная задача может вызвать подозрения препода. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
| Clerick |
Сообщение
#33
|
![]() студент.. ![]() ![]() ![]() Группа: Пользователи Сообщений: 287 Пол: Мужской Реальное имя: Дмитрий Репутация: 2 |
Но проблема в том, что списки в школе и в неспециализированных вузах не дают обычно. Сомневаюсь, что Clerick с ними сталкивался... соответственно, так решенная задача может вызвать подозрения препода. Это предыдущая тема, которую мы прошли(физмат профиль в школе)! Но решали лишь элементарные задачи. Поэтому большая просьба к Hardcase: поясни свой код!!! Зы: мой компилятор BP7 Сообщение отредактировано: Clerick - -------------------- После дождя обязательно выглянет солнце)
|
| hardcase |
Сообщение
#34
|
![]() code warrior ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 484 Пол: Мужской Реальное имя: Славен Репутация: 8 |
Коментарии добавил. (вроде там и комментировать-то нечего - чай не Win32 API)
BP7 не имею - я его ВООБЩЕ никогда не имел и в глаза только в школе видел пару раз. Вот такие мы сирые и необразованные. FPC - нету, да и собсна, он мне не нужен. TMT лежал где-то, но и он, скорее, как экспонат лежит. Думаю, скомпилироваться должно, я только не знаю, BP7 поддерживает динамические строки, или нет? Возможно... хотя у меня делфи на Assign ругается - предпочитает AssignFile. есть у класса TPersistent метод Assign - вот и ругается делфи на него. Можно писать System.Assign(FileVariable, FileName); BP и TP это не откомпилируют 100 %, hardacase, тебе на кажется что раздел 32 битные компиляторы находится в другом месте ? Сообщение отредактировано: klem4 - -------------------- ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
|
| Clerick |
Сообщение
#35
|
![]() студент.. ![]() ![]() ![]() Группа: Пользователи Сообщений: 287 Пол: Мужской Реальное имя: Дмитрий Репутация: 2 |
BP и TP это не откомпилируют 100 %, hardacase, тебе на кажется что раздел 32 битные компиляторы находится в другом месте ? Не откомпилируют что? -------------------- После дождя обязательно выглянет солнце)
|
| hardcase |
Сообщение
#36
|
![]() code warrior ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 484 Пол: Мужской Реальное имя: Славен Репутация: 8 |
Не знаю- не знаю, всё должно скомпилиться - вот посмотрел предыдущий вариант решения задачи - Clerick это скомпилит.
Только при чём тут вообще разрядность? На дворе 2006 год! Тут уже переходят на 64 разрядные машины. Мне казалось, что 16-бит компилеры благополучно вышли из употребления (померли) ещё 10 лет назад... Зачем вообще акцентироватся на этом? -------------------- ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
|
| Clerick |
Сообщение
#37
|
![]() студент.. ![]() ![]() ![]() Группа: Пользователи Сообщений: 287 Пол: Мужской Реальное имя: Дмитрий Репутация: 2 |
Начались проблемы...
var lst: PElement ; = nil; Требует поставить ; в указанном месте... После того как ставлю, требует begin, а дальше говорит error in statement.... -------------------- После дождя обязательно выглянет солнце)
|
| hardcase |
Сообщение
#38
|
![]() code warrior ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 484 Пол: Мужской Реальное имя: Славен Репутация: 8 |
А проинициализировать переменные в begin .. end - не светит?
-------------------- ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
|
| Clerick |
Сообщение
#39
|
![]() студент.. ![]() ![]() ![]() Группа: Пользователи Сообщений: 287 Пол: Мужской Реальное имя: Дмитрий Репутация: 2 |
Что значит проинициализировать и как это сделать?
-------------------- После дождя обязательно выглянет солнце)
|
| hardcase |
Сообщение
#40
|
![]() code warrior ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 484 Пол: Мужской Реальное имя: Славен Репутация: 8 |
Я не знаю, что такое BP7, он похоже не поддерживает инициализацию переменных при объявлении
Код var lst: PElement = nil; поэтому стоит заменить на Код var lst: PElement; ... begin lst:=nil; .... Assign(...) ... end. с другими переменными - аналогично -------------------- ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
|
![]() ![]() |
|
Текстовая версия | 23.11.2025 4:03 |