![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() ![]() |
![]() |
.helga |
![]()
Сообщение
#21
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Женский Репутация: ![]() ![]() ![]() |
на недо-паскале:
чувствую, что здесь косяков ой как много.. особенно с тем, что я пыталась оформить рекурсией.. да, я не писала вводы-выводы матрицы, но это ведь не суть. |
Bokul |
![]()
Сообщение
#22
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: ![]() ![]() ![]() |
Конечно у тебя рекурсия вечная (до переполнения стека точно не остановится).
Сообщение отредактировано: Bokul - 2.01.2007 6:57 -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
.helga |
![]()
Сообщение
#23
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Женский Репутация: ![]() ![]() ![]() |
а вот этот кусок
for i:=1 to m do разве не считается? |
Bokul |
![]()
Сообщение
#24
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: ![]() ![]() ![]() |
Ты тестила свой код? Правильные результаты дает?
Вот моя реализация алгоритма мисс_граффити:
Цитата причем в поле info храним собственно значение (цифру), а в checked - информацию о зачеркнутости (0 - не зачеркнуто, 1 - зачеркнуто, 2 - находится на пересечении). Хватит только 1 и 0, по-этому использую boolean. Цитата 1) создаем дополнительный массив, в который записываем номера вычеркнутых строк и столбцов. Этого не достаточно, надо хранить информацию о каждом элементе. -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
volvo |
![]()
Сообщение
#25
|
Гость ![]() |
2 Bokul: Copy+Paste - не наш метод... Убираем 2 функции (GetMaxLine/GetMaxColumn), заменяем их на одну:
function GetMax(isLine: boolean):TRes;Вся разница - в способе вызова: ... |
мисс_граффити |
![]()
Сообщение
#26
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Цитата Хватит только 1 и 0, по-этому использую boolean. А как ты отличаешь элементы, расположенные на пересечении зачеркнутых строки и столбца? Цитата Этого не достаточно, надо хранить информацию о каждом элементе. Тогда это сведется к первому варианту ![]() Нет, информации о строках и столбцах достаточно. Кстати, пожалуй, ее удобнее хранить не в массивах, а в множествах. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Bokul |
![]()
Сообщение
#27
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: ![]() ![]() ![]() |
Цитата Вся разница - в способе вызова: ![]() Цитата Нет, информации о строках и столбцах достаточно. Кстати, пожалуй, ее удобнее хранить не в массивах, а в множествах. ![]() 110 010 111 Добавляешь в CrossedLines 2, но 0, стоящий на пересечении 3-ого столбца и 2-ой строки будет перечеркнутым только как строка - он не занесен в CrossedColumns и поэтому будет учитываться в следующим подсчете в третьем слобце. Цитата А как ты отличаешь элементы, расположенные на пересечении зачеркнутых строки и столбца? Нигде, эта информация мне не надо. -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
мисс_граффити |
![]()
Сообщение
#28
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Цитата Нигде, эта информация мне не надо. Везет тебе.... ![]() Цитата 4 Прибавить его ко всем элементам, лежащим на пересечении прямых Цитата Добавляешь в CrossedLines 2, но 0, стоящий на пересечении 3-ого столбца и 2-ой строки будет перечеркнутым только как строка - он не занесен в CrossedColumns и поэтому будет учитываться в следующим подсчете в третьем слобце. А кто тебе мешает проверять на перечеркнутость для как строки? (тьфу... не по-русски сказала). ну то есть for j:=1 to n do Не понимаю сути проблемы. Цитата Copy+Paste - не наш метод... А откуда тогда взялось: if (value.info=0) and (value.checked=false) then ![]() Сообщение отредактировано: мисс_граффити - 2.01.2007 19:03 -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Bokul |
![]()
Сообщение
#29
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: ![]() ![]() ![]() |
Цитата Не понимаю сути проблемы. Попробуй сделать - поймешь. ![]() Цитата Везет тебе.... smile.gif А вот автору темы нужно: Цитата 4 Прибавить его ко всем элементам, лежащим на пересечении прямых Можно обойтись только знанием проведенных прямых. ![]() -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
мисс_граффити |
![]()
Сообщение
#30
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Цитата Попробуй сделать - поймешь. Попробовала. Сделала. Не поняла ![]() Файлик прицепляю - вроде работает. Правда, не всегда совсем "с умом"... ![]() . Цитата Можно обойтись только знанием проведенных прямых. Можно. Но ведь мы их не храним... А храним инфу по каждому числу отдельно... -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Bokul |
![]()
Сообщение
#31
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: ![]() ![]() ![]() |
Цитата Правда, не всегда совсем "с умом"... И не всегда правильно.. ![]() ![]() Цитата Можно. Но ведь мы их не храним... А храним инфу по каждому числу отдельно... Ну сохраним. Вместо вывода на экран номеров столбцов и строк сохраняем их в множества. -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
мисс_граффити |
![]()
Сообщение
#32
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Цитата Ну сохраним. Вместо вывода на экран номеров столбцов и строк сохраняем их в множества. А зачем нам их хранить? Цитата И не всегда правильно.. Надо подумать, как поступать, если максимальное количество нулей по строкам равно максимальному по столбцам... А вообще твой вариант транспонированную матрицу: n=5; тоже не слишком весело обрабатывает. так что проблема общая. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Bokul |
![]()
Сообщение
#33
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: ![]() ![]() ![]() |
Цитата А зачем нам их хранить? Ты права. Просто люблю все делать поэтапно.. Цитата тоже не слишком весело обрабатывает. так что проблема общая. Почему же, моя даже не задумывалась:
-------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
мисс_граффити |
![]()
Сообщение
#34
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
ой...
в смысле, вот так: n=5; ну первый вариант тоже некорректно обрабатывается 5 линий. А можно обойтись 4... Сообщение отредактировано: мисс_граффити - 2.01.2007 23:41 -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Bokul |
![]()
Сообщение
#35
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: ![]() ![]() ![]() |
Цитата ну первый вариант тоже некорректно обрабатывается ![]() Цитата 5 линий. А можно обойтись 4... Да. Проблема в том что в случае когда максимальные количества нулей в строке и столбце равняются, я всегда провожу горизонтальную линию, хотя это надо делать 'с умом' - совместить мой неправильный алгоритм с этим. Сейчас сделаю. -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
мисс_граффити |
![]()
Сообщение
#36
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
я вот про этот вариант:
n=5; здесь можно вычеркнуть 4 столбца. А у тебя вычеркивается 2 столбца и 3 строки, так? Цитата Проблема в том что в случае когда максимальные количества нулей в строке и столбце равняются, я всегда провожу горизонтальную линию, хотя это надо делать 'с умом' - совместить мой неправильный алгоритм с этим. А я - всегда вертикальную... Но что с этим делать - не придумала. Жду твой вариант... 2 .helga Вы по какому предмету эти транспортные задачи мучаете? -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
.helga |
![]()
Сообщение
#37
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Женский Репутация: ![]() ![]() ![]() |
2 мисс_граффити
основы алгоритмизации и программирования. курсовой пишу. с этим вот этапом вышла проблемка. |
Bokul |
![]()
Сообщение
#38
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: ![]() ![]() ![]() |
Цитата здесь можно вычеркнуть 4 столбца. А у тебя вычеркивается 2 столбца и 3 строки, так? ![]() Цитата А я - всегда вертикальную... Но что с этим делать - не придумала. Положится на судьбу и воспользоваться random-ом Цитата Жду твой вариант... Добавил функцию, которая ищет количество безнулевых строк/столбцов в зависимости от передаваемого флага: true для столбца. Также улучшил (имхо) читабельность главного цикла.
-------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
мисс_граффити |
![]()
Сообщение
#39
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
к сожалению, внесенные изменения не в полной мере решают проблему:
const можно обойтись вычеркиванием трех строк, а программка предлагает 4 столбца... может, еще считать количество безнулевых строк и столбцов? -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Bokul |
![]()
Сообщение
#40
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: ![]() ![]() ![]() |
![]()
меняем нижнюю левую единицу на ноль и мучаемся в поисках нового алгоритма.. Цитата может, еще считать количество безнулевых строк и столбцов? Да надо совмещать, щас подумаю.. -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
![]() ![]() |
![]() |
Текстовая версия | 8.07.2025 22:27 |