IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> реализуемо ли
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 26
Пол: Женский

Репутация: -  1  +


Реализуемо ли это в Делфи??


1 Провести минимальное количество прямых через столбцы и строки матрицы таким образом, чтобы они проходили через все нули, содержащиеся в таблице
2 Найти наименьший из элементов, через которые не проходит ни одна прямая
3 Вычесть его из всех элементов, через которые не проходят прямые
4 Прибавить его ко всем элементам, лежащим на пересечении прямых
5 Элементы, через которые проходит только одна прямая, оставить неизменными


 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 26
Пол: Женский

Репутация: -  1  +


уже нет, мне изменили постановку задачи, теперь немного другая тема.

но все равно интересно, как это сделать можно )
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Профи
****

Группа: Пользователи
Сообщений: 705
Пол: Мужской

Репутация: -  20  +


Проще всего сделать перебором, вот так, например:

uses crt;
const
n=5;
ar:array[1..n,1..n] of byte=
((1,0,0,0,1),
(1,1,1,1,0),
(0,1,1,1,0),
(0,1,1,1,1),
(1,0,0,0,1));
type TElement=record
info:byte;
checked:boolean;
end;
mas_= array [1..n,1..n] of TElement;
Var y,mas:mas_;
mn,mnn,x,i,j:word;
b:boolean;
k:integer;
s1,s2,s11,s22:string;
function IntToStr(I: Longint): String;
var
S: string;
begin Str(I, S); IntToStr := S; end;
begin
mn:=n; mnn:=255; clrscr;
for i:=1 to n do for j:=1 to n do begin
mas[i,j].info:=ar[i,j]; mas[i,j].checked:=false;
end;
for x:=0 to $ffff do begin
i:=0; y:=mas;
s1:=''; s2:='';
while (i+1)<=n do begin
if (1 shl i) and (x and $Ff)>0 then begin
for j:=1 to n do y[j,i+1].checked:=true;
s1:=s1+inttostr(i+1)+' '; end;
if ((1 shl i) and ((x and $Ff00) shr 8))>0 then begin
s2:=s2+inttostr(i+1)+' ';
for j:=1 to n do y[i+1,j].checked:=true; end;
inc (i);
end;
b:=true;
for i:=1 to n do for j:=1 to n do
if (y[i,j].info=0) and (y[i,j].checked=false) then b:=false;

j:=x; i:=0;
while j>0 do begin inc (i,j and 1); j:=j div 2; end;
if b and (i<=mn) then begin mn:=i; mnn:=x; s11:=s1; s22:=s2; end;
end;
writeln ('Всего-',mn);
writeln ('Столбцы-', s11);
writeln ('Строки- ',s22);
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
.helga   реализуемо ли   2.01.2007 2:55
мисс_граффити   Реализуемо. Скажи, у тебя есть идеи, каким алгорит…   2.01.2007 3:35
.helga   эмм.. нужно вычеркивать сначала те столбцы или стр…   2.01.2007 4:05
мисс_граффити   в принципе, думала примерно так же. единственное у…   2.01.2007 4:44
.helga   о, пришла бредовая мысля! :) а что, если …   2.01.2007 5:07
Bokul   Вот мое решение: Пойдём от обратного: какое макси…   2.01.2007 8:21
.helga   а если безнулевых строк/столбцов не окажется? 1 …   2.01.2007 8:39
Bokul   Ты не поняла шутки с random-ом - если безнулевых с…   2.01.2007 8:47
.helga   ну да. если в моем примере проводить только горизо…   2.01.2007 8:50
Bokul   .helga, почему ты так хочешь усложнить все? Хва…   2.01.2007 9:02
.helga   не хватит! потому что при некоторых примерах о…   2.01.2007 9:18
Bokul   Что требуется? Найти минимальное количество зач…   2.01.2007 9:27
.helga   Но зачеркивать-то с умом нужно) Чтобы остались эле…   2.01.2007 9:33
Bokul   :wacko: .helga, покажи как ты с умом зачеркнёшь вс…   2.01.2007 9:35
.helga   насчет тех примеров: зачеркну. сначала вычеркиваем…   2.01.2007 9:42
Bokul   Нет мой алгоритм и для такого не годится: 1111 110…   2.01.2007 10:05
.helga   хм. тогда кроме вычеркивания строк/столбцов с макс…   2.01.2007 10:16
Bokul   А полный код можешь привести?   2.01.2007 10:18
.helga   отредактировала чуток предыдущее. спать все-таки и…   2.01.2007 10:22
Bokul   Тот который будет компилироваться..   2.01.2007 10:28
.helga   на недо-паскале: program z; uses crt; var mart: …   2.01.2007 10:51
Bokul   Конечно у тебя рекурсия вечная (до переполнения ст…   2.01.2007 10:56
.helga   а вот этот кусок for i:=1 to m do for ii:=1 to m…   2.01.2007 10:59
Bokul   Ты тестила свой код? Правильные результаты дает? …   2.01.2007 11:56
volvo   2 Bokul: Copy+Paste - не наш метод... Убираем 2 фу…   2.01.2007 14:20
мисс_граффити   А как ты отличаешь элементы, расположенные на пер…   2.01.2007 16:37
Bokul   :yes2: :no1: Я сам сначала хотел сделать и…   2.01.2007 22:15
мисс_граффити   Везет тебе.... :) А вот автору темы нужно: А к…   2.01.2007 23:02
Bokul   Попробуй сделать - поймешь. :) [/quote] Мож…   2.01.2007 23:10
мисс_граффити   Попробовала. Сделала. Не поняла :( Файлик прицепл…   3.01.2007 3:00
Bokul   И не всегда правильно.. :( Ну сохраним. Вмес…   3.01.2007 3:12
мисс_граффити   А зачем нам их хранить? Надо подумать, как пост…   3.01.2007 3:27
Bokul   Ты права. Просто люблю все делать поэтапно.. …   3.01.2007 3:38
мисс_граффити   ой... в смысле, вот так: n=5; ar:array[1..n,1…   3.01.2007 3:40
Bokul   :blink: Да. Проблема в том что в случае ког…   3.01.2007 3:47
мисс_граффити   я вот про этот вариант: n=5; ar:array[1..n,1.…   3.01.2007 3:57
.helga   2 мисс_граффити основы алгоритмизации и программир…   3.01.2007 4:07
Bokul   :yes2: Положится на судьбу и воспользоватьс…   3.01.2007 4:23
мисс_граффити   к сожалению, внесенные изменения не в полной мере …   3.01.2007 4:35
Bokul   :mega_chok: const n=5; ar:array[1..n,1…   3.01.2007 4:37
мисс_граффити   Идея такая: если безнулевых столбцов/строк больше,…   3.01.2007 4:44
Bokul   :no1: Я допустил ошибку: …   3.01.2007 5:01
мисс_граффити   :) вроде как непринципиально... Я про немножко др…   3.01.2007 5:14
Bokul   :no1: 0 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 …   3.01.2007 5:21
Bokul   Переделать старый алгоритм("то есть ищем, где…   3.01.2007 5:40
Bokul   Блин, написал код и для этого алгоритма, но он тож…   3.01.2007 12:43
мисс_граффити   почему? чем этот пример такой особенный??? покажеш…   3.01.2007 19:13
Bokul   uses crt; const n=5; ar:array[1..n,1..n…   4.01.2007 0:43
мисс_граффити   рассматиривать отдельно?... поскольку "развил…   4.01.2007 3:22
.helga   уже нет, мне изменили постановку задачи, теперь не…   4.01.2007 3:50
Malice   Проще всего сделать перебором, вот так, например: …   4.01.2007 14:19
Bokul   Malice, можешь сделать небольшое пояснение алгорит…   4.01.2007 15:01
Malice   Malice, можешь сделать небольшое пояснение алгори…   4.01.2007 16:06


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 26.04.2024 21:47
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name