![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
D1ma |
![]()
Сообщение
#21
|
Новичок ![]() Группа: Пользователи Сообщений: 32 Пол: Мужской Реальное имя: Дима Репутация: ![]() ![]() ![]() |
Сдается мне, что ты и не пытался уточнить.. Ладно, твое дело, в конце концов. Лови. PROCEDURE MIN(A:LINK;VAR B:WORD); Спасибо ![]() только помойму последняя строка символов не проверяется на длину, т.к. если его длина меньше остальных то не выдается его длина |
Krjuger |
![]()
Сообщение
#22
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: ![]() ![]() ![]() |
вот тебе немног другая реализация,но как я и говрил вполне кустарно....Кстати вопрос больше в Лапу,когда я в дату списка записываю стринг,а потом скидываю строку во временный txt файл,то у меня окончание ознаменуется #26 это конец файла чтоли или как?
Еще так как это не рабочий вариант,то я файлы не закрыл,думаю сам справишся. Сообщение отредактировано: Krjuger - 1.06.2009 20:13 |
Lapp |
![]()
Сообщение
#23
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
последняя строка символов не проверяется на длину, Да, ошибся я. Секундочку..Ну, вот так можно, наверное.. PROCEDURE MIN(A:LINK;VAR B:WORD); Только ты спрячь и не показывай volvo. А то тут одна строка кода сдублирована... ![]() Добавлено через 1 мин. Пожалуйста, не надо всякий раз цитировать ВЕСЬ предыдущий мессадж при ответе. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Krjuger |
![]()
Сообщение
#24
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: ![]() ![]() ![]() |
Цитата Только ты спрячь и не показывай volvo. А то тут одна строка кода сдублирована... УУУУууу.....молись,в прошлый раз volvo конкурс устроил,как избавиться от условия))))Растерзает ведь... Сообщение отредактировано: Krjuger - 1.06.2009 20:20 |
Lapp |
![]()
Сообщение
#25
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Нет, погоди, так снова неправильно. Дай минутку.
Добавлено через 12 мин. Вот так будет правильно: PROCEDURE MIN(A:LINK;VAR B:WORD); -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
D1ma |
![]()
Сообщение
#26
|
Новичок ![]() Группа: Пользователи Сообщений: 32 Пол: Мужской Реальное имя: Дима Репутация: ![]() ![]() ![]() |
в общем, оказалось что это вовсе не многосвязный список...
![]() Как же надоела эта задача... ![]() Код uses crt; type slov=^slovo; slovo=record sim:char; ss:slov; end; spisok=^zveno; zveno=record sl:slov; cc:spisok; end; var s,s1,s2:spisok; t:text; b,i:word; begin clrscr; assign(t,'C:/f1.txt'); reset(t); s1:=nil; while not eof(t) do begin new(s); s2^.sl:=nil; while not eoln(t) do begin new(s^.sl); read(t,s^.sl^.sim); s^.sl^.ss:=s2^.sl; s2^.sl:=s^.sl; end; readln(t); s^.cc:=s1; s1:=s; end; close(t); while s<>nil do begin while s^.sl<>nil do begin write(s^.sl^.sim); s^.sl:=s^.sl^.ss; end; writeln; s:=s^.cc; end; b:=256; i:=0; While S<>nil do begin Case S^.sl^.sim of #13:; #10: begin if i<b then b:=i; i:=0 end else Inc(i) end; s:=s^.cc; end; if (0<i)and(i<b) then b:=i else if b=256 then b:=0; write('MIN=',b); end. Вроде как формирует из файла многосвязный список, только строки наоборот )) По аналогии вычисление длины короткой строки написал вроде как в предыдущей программе, только что-то не работает... Помогите плз, осталась единственная несданная задача... |
D1ma |
![]()
Сообщение
#27
|
Новичок ![]() Группа: Пользователи Сообщений: 32 Пол: Мужской Реальное имя: Дима Репутация: ![]() ![]() ![]() |
Блин...
В чем ошибка? |
D1ma |
![]()
Сообщение
#28
|
Новичок ![]() Группа: Пользователи Сообщений: 32 Пол: Мужской Реальное имя: Дима Репутация: ![]() ![]() ![]() |
Решил сначала попробывать с использованием типа STRING, c ним все просто
Код b:=256; while s<>nil do begin while s^.sl<>nil do begin write(s^.sl^.sim); if length(S^.sl^.sim)<b then b:=length(S^.sl^.sim); s^.sl:=s^.sl^.ss; end; writeln; s:=s^.cc; end;write(b); Но нужно с использованием Char. В общем считает, но не отдельную строку, а всю длину. Код hile s<>nil do begin while s^.sl<>nil do begin write(s^.sl^.sim); Case S^.sl^.sim of #13:; #10: begin if i<b then b:=i; i:=0 end else Inc(i) end; end; s^.sl:=s^.sl^.ss; end; writeln; s:=s^.cc; end; if (0<i)and(i<b) then b:=i else if b=256 then b:=0; write('MIN=',b); Как сделать чтобы считал не всю длину, а токо длину строки? |
D1ma |
![]()
Сообщение
#29
|
|||
Новичок ![]() Группа: Пользователи Сообщений: 32 Пол: Мужской Реальное имя: Дима Репутация: ![]() ![]() ![]() |
Решил попробывать вот так:
Почему-то мне кажется что должно быть так, но считает неверно...
|
|||
Lapp |
![]()
Сообщение
#30
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Я довольно много поменял тут..
Разберешься? type -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
D1ma |
![]()
Сообщение
#31
|
Новичок ![]() Группа: Пользователи Сообщений: 32 Пол: Мужской Реальное имя: Дима Репутация: ![]() ![]() ![]() |
Спасибо!!!
![]() Плохо разобрался токо, немогли бы написать действие след. операторов? -) L1:=L; s1:=s; L:=Next; s:=Next; L:=Next; Сообщение отредактировано: D1ma - 8.06.2009 16:03 |
Lapp |
![]()
Сообщение
#32
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
немогли бы написать действие след. операторов? Ты лучше в программе комментами пиши, какое именно место непонятно и почему.L1:=L; s1:=s; - запомнить начало списка L:=Next; s:=Next; - продвижение вперед по списку -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
D1ma |
![]()
Сообщение
#33
|
Новичок ![]() Группа: Пользователи Сообщений: 32 Пол: Мужской Реальное имя: Дима Репутация: ![]() ![]() ![]() |
Исправьте что не так
![]()
|
Krjuger |
![]()
Сообщение
#34
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: ![]() ![]() ![]() |
Ну а ты скажи,что не так и тебе исправят..Где ошибка,то? что тебя не устраивает?Уу тебя в руках всегда есть встроеный в паскаль дебагер,где ты можеш проверить все изменения переменных при каждом шаге,только для этого надо самому понимать,что должно происходить и что произошло и смотреть где именно ошибка,и тогда уже думать,как это исправить.
|
![]() ![]() |
![]() |
Текстовая версия | 8.08.2025 14:28 |