![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
.helga |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Женский Репутация: ![]() ![]() ![]() |
Реализуемо ли это в Делфи??
1 Провести минимальное количество прямых через столбцы и строки матрицы таким образом, чтобы они проходили через все нули, содержащиеся в таблице 2 Найти наименьший из элементов, через которые не проходит ни одна прямая 3 Вычесть его из всех элементов, через которые не проходят прямые 4 Прибавить его ко всем элементам, лежащим на пересечении прямых 5 Элементы, через которые проходит только одна прямая, оставить неизменными |
![]() ![]() |
.helga |
![]()
Сообщение
#2
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Женский Репутация: ![]() ![]() ![]() |
эмм.. нужно вычеркивать сначала те столбцы или строки, в которых сод. наибольшее кол-во нулей. написать это труднее, чем сказать. у меня получается что-то вроде этого:
max:=0; counter:=0; for i:=1 to m do begin for ii:=1 to m do if matr[i,ii]=0 then inc(counter); if counter>max then begin max:=counter; b:=ii; {запоминаем строку} counter:=0; end; end; это для строк. то же самое для столбцов с сохранением макс., но тут непонятно, как запоминать теперь уже столбец, чтобы не було путаницы, когда придется "вычеркивать".. Сообщение отредактировано: .helga - 2.01.2007 0:15 |
![]() ![]() |
![]() |
Текстовая версия | 8.07.2025 11:13 |