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

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Похожие строки в матрицах, Попробуйте, поймите или... решите
сообщение
Сообщение #1





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

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


Две строки матрицы назовем похожими, если совпадают множества чисел, встречающихся в этих строках. Найти количество строк в максимальном множестве попарно непохожих строк заданной матрицы.

Очень срочно надо решение, а я сам не могу даже врубиться в условие этой задачкиsmile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


1, 2, 3, 4, 5

и

2, 4, 5, 3, 1

похожи - (и там и там одни и теже числа, порядок не важен)


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





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

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


Цитата(klem4 @ 28.12.2005 14:15) *

1, 2, 3, 4, 5

и

2, 4, 5, 3, 1

похожи - (и там и там одни и теже числа, порядок не важен)


Да это я понял, а вот как сделать эту задачу?.. Просто как надо перебрать эти все строки?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


Вот напирмер ф-я возвращает true, если 2 троки (i1 и i2 матрицы) похожи


const
n=3;
type
TMatrix = array[1..n,1..n] of integer;

function IsSimilar(mx : TMatrix; i1,i2 : byte) : boolean;
var
j1,j2 : byte;
find : boolean;
begin

find := true;

j1 := 1;
while(j1 <= n) and find do begin
j2 := 1;
find := not(find);
while (j2 <= n) and (not(find)) do
if mx[i1,j1] = mx[i2,j2] then find := true
else inc(j2);
inc(j1);
end;

IsSimilar := find;
end;



Сообщение отредактировано: klem4 -


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






klem4, не все так просто:
const
n=5;
type
TMatrix = array[1..n,1..n] of integer;

{ Здесь - твоя функция IsSimilar }

const
a: tmatrix =
(
(1, 1, 3, 4, 5),
(2, 3, 4, 5, 1),
(1, 3, 3, 4, 5),
(5, 4, 3, 2, 1),
(5, 4, 2, 3, 1)
);

begin
writeln(IsSimilar(a, 1, 2)); { Как ты думаешь, какой должен быть ответ? }
end.



Со своей стороны могу предложить такой вариант:
const
n=5;
type
TVector = array[1 .. n] of integer;
TMatrix = array[1 .. n] of TVector;

function IsSimilar(mx : TMatrix; i1,i2 : byte) : boolean;

procedure sort(var v: TVector);
var i, j, T: integer;
begin
for i := 1 To n Do
for j := n downto i + 1 do
if v[pred(j)] > v[j] then begin
T := v[pred(j)]; v[pred(j)] := v[j]; v[j] := T
end
end;

var
i: integer;
begin
sort(mx[i1]); sort(mx[i2]);
i := 1;
while (i <= n) and (mx[i1][i] = mx[i2][i]) do inc(i);

IsSimilar := (i > n);
end;

const
a: tmatrix =
(
(1, 1, 3, 4, 5),
(2, 3, 4, 5, 1),
(1, 3, 3, 4, 5),
(5, 4, 3, 2, 1),
(5, 4, 2, 3, 1)
);

begin
writeln(issimilar(a, 1, 2));
end.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6





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

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


Спасибо большое, действительно помогли. Не думал даже, что этот форум такой классный. Вообщем, не забуду!:)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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