реализуемо ли |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
реализуемо ли |
.helga |
2.01.2007 6:51
Сообщение
#21
|
Новичок Группа: Пользователи Сообщений: 26 Пол: Женский Репутация: 1 |
на недо-паскале:
чувствую, что здесь косяков ой как много.. особенно с тем, что я пыталась оформить рекурсией.. да, я не писала вводы-выводы матрицы, но это ведь не суть. |
Bokul |
2.01.2007 6:56
Сообщение
#22
|
Гуру Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: 11 |
Конечно у тебя рекурсия вечная (до переполнения стека точно не остановится).
Сообщение отредактировано: Bokul - 2.01.2007 6:57 -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
.helga |
2.01.2007 6:59
Сообщение
#23
|
Новичок Группа: Пользователи Сообщений: 26 Пол: Женский Репутация: 1 |
а вот этот кусок
for i:=1 to m do разве не считается? |
Bokul |
2.01.2007 7:56
Сообщение
#24
|
Гуру Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: 11 |
Ты тестила свой код? Правильные результаты дает?
Вот моя реализация алгоритма мисс_граффити:
Цитата причем в поле info храним собственно значение (цифру), а в checked - информацию о зачеркнутости (0 - не зачеркнуто, 1 - зачеркнуто, 2 - находится на пересечении). Хватит только 1 и 0, по-этому использую boolean. Цитата 1) создаем дополнительный массив, в который записываем номера вычеркнутых строк и столбцов. Этого не достаточно, надо хранить информацию о каждом элементе. -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
volvo |
2.01.2007 10:20
Сообщение
#25
|
Гость |
2 Bokul: Copy+Paste - не наш метод... Убираем 2 функции (GetMaxLine/GetMaxColumn), заменяем их на одну:
function GetMax(isLine: boolean):TRes;Вся разница - в способе вызова: ... |
мисс_граффити |
2.01.2007 12:37
Сообщение
#26
|
просто человек Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
Цитата Хватит только 1 и 0, по-этому использую boolean. А как ты отличаешь элементы, расположенные на пересечении зачеркнутых строки и столбца? Цитата Этого не достаточно, надо хранить информацию о каждом элементе. Тогда это сведется к первому варианту Нет, информации о строках и столбцах достаточно. Кстати, пожалуй, ее удобнее хранить не в массивах, а в множествах. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Bokul |
2.01.2007 18:15
Сообщение
#27
|
Гуру Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: 11 |
Цитата Вся разница - в способе вызова: Цитата Нет, информации о строках и столбцах достаточно. Кстати, пожалуй, ее удобнее хранить не в массивах, а в множествах. Я сам сначала хотел сделать именно через два множества - множество зачеркнутых столбцов(CrossedColumns) и еще одно для строк(CrossedLines). Но что делать когда надо зачеркнуть строку 2 в таком случае? 110 010 111 Добавляешь в CrossedLines 2, но 0, стоящий на пересечении 3-ого столбца и 2-ой строки будет перечеркнутым только как строка - он не занесен в CrossedColumns и поэтому будет учитываться в следующим подсчете в третьем слобце. Цитата А как ты отличаешь элементы, расположенные на пересечении зачеркнутых строки и столбца? Нигде, эта информация мне не надо. -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
мисс_граффити |
2.01.2007 19:02
Сообщение
#28
|
просто человек Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
Цитата Нигде, эта информация мне не надо. Везет тебе.... А вот автору темы нужно: Цитата 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 |
2.01.2007 19:10
Сообщение
#29
|
Гуру Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: 11 |
Цитата Не понимаю сути проблемы. Попробуй сделать - поймешь. Цитата Везет тебе.... smile.gif А вот автору темы нужно: Цитата 4 Прибавить его ко всем элементам, лежащим на пересечении прямых Можно обойтись только знанием проведенных прямых. -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
мисс_граффити |
2.01.2007 23:00
Сообщение
#30
|
просто человек Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
Цитата Попробуй сделать - поймешь. Попробовала. Сделала. Не поняла Файлик прицепляю - вроде работает. Правда, не всегда совсем "с умом"... _______1.PAS ( 1.4 килобайт ) Кол-во скачиваний: 327 . Цитата Можно обойтись только знанием проведенных прямых. Можно. Но ведь мы их не храним... А храним инфу по каждому числу отдельно... -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Bokul |
2.01.2007 23:12
Сообщение
#31
|
Гуру Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: 11 |
Цитата Правда, не всегда совсем "с умом"... И не всегда правильно.. Цитата Можно. Но ведь мы их не храним... А храним инфу по каждому числу отдельно... Ну сохраним. Вместо вывода на экран номеров столбцов и строк сохраняем их в множества. -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
мисс_граффити |
2.01.2007 23:27
Сообщение
#32
|
просто человек Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
Цитата Ну сохраним. Вместо вывода на экран номеров столбцов и строк сохраняем их в множества. А зачем нам их хранить? Цитата И не всегда правильно.. Надо подумать, как поступать, если максимальное количество нулей по строкам равно максимальному по столбцам... А вообще твой вариант транспонированную матрицу: n=5; тоже не слишком весело обрабатывает. так что проблема общая. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Bokul |
2.01.2007 23:38
Сообщение
#33
|
Гуру Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: 11 |
Цитата А зачем нам их хранить? Ты права. Просто люблю все делать поэтапно.. Цитата тоже не слишком весело обрабатывает. так что проблема общая. Почему же, моя даже не задумывалась:
-------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
мисс_граффити |
2.01.2007 23:40
Сообщение
#34
|
просто человек Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
ой...
в смысле, вот так: n=5; ну первый вариант тоже некорректно обрабатывается 5 линий. А можно обойтись 4... Сообщение отредактировано: мисс_граффити - 2.01.2007 23:41 -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Bokul |
2.01.2007 23:47
Сообщение
#35
|
Гуру Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: 11 |
Цитата ну первый вариант тоже некорректно обрабатывается Цитата 5 линий. А можно обойтись 4... Да. Проблема в том что в случае когда максимальные количества нулей в строке и столбце равняются, я всегда провожу горизонтальную линию, хотя это надо делать 'с умом' - совместить мой неправильный алгоритм с этим. Сейчас сделаю. -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
мисс_граффити |
2.01.2007 23:57
Сообщение
#36
|
просто человек Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
я вот про этот вариант:
n=5; здесь можно вычеркнуть 4 столбца. А у тебя вычеркивается 2 столбца и 3 строки, так? Цитата Проблема в том что в случае когда максимальные количества нулей в строке и столбце равняются, я всегда провожу горизонтальную линию, хотя это надо делать 'с умом' - совместить мой неправильный алгоритм с этим. А я - всегда вертикальную... Но что с этим делать - не придумала. Жду твой вариант... 2 .helga Вы по какому предмету эти транспортные задачи мучаете? -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
.helga |
3.01.2007 0:07
Сообщение
#37
|
Новичок Группа: Пользователи Сообщений: 26 Пол: Женский Репутация: 1 |
2 мисс_граффити
основы алгоритмизации и программирования. курсовой пишу. с этим вот этапом вышла проблемка. |
Bokul |
3.01.2007 0:23
Сообщение
#38
|
Гуру Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: 11 |
Цитата здесь можно вычеркнуть 4 столбца. А у тебя вычеркивается 2 столбца и 3 строки, так? Цитата А я - всегда вертикальную... Но что с этим делать - не придумала. Положится на судьбу и воспользоваться random-ом Цитата Жду твой вариант... Добавил функцию, которая ищет количество безнулевых строк/столбцов в зависимости от передаваемого флага: true для столбца. Также улучшил (имхо) читабельность главного цикла.
-------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
мисс_граффити |
3.01.2007 0:35
Сообщение
#39
|
просто человек Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
к сожалению, внесенные изменения не в полной мере решают проблему:
const можно обойтись вычеркиванием трех строк, а программка предлагает 4 столбца... может, еще считать количество безнулевых строк и столбцов? -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Bokul |
3.01.2007 0:37
Сообщение
#40
|
Гуру Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: 11 |
меняем нижнюю левую единицу на ноль и мучаемся в поисках нового алгоритма.. Цитата может, еще считать количество безнулевых строк и столбцов? Да надо совмещать, щас подумаю.. -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
Текстовая версия | 1.06.2024 8:37 |