Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.12.2010, 11:15   #1
Yalovick
 
Аватар для Yalovick
 
Регистрация: 30.11.2010
Сообщений: 6
Восклицание матрица

Дана целочисленная матрица M x N, элементы которой могут принимать значения от 0 до 100. Различные элементы матрицы назовем похожими, если совпадают множества чисел, встречающихся в этих столбцах. Найти количество столбцов, похожих на последний столбец данной матрицы.
Yalovick вне форума Ответить с цитированием
Старый 29.12.2010, 11:24   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Можно пример матрицы и пример похожести?
Я лично не понял критерий.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.12.2010, 11:29   #3
Yalovick
 
Аватар для Yalovick
 
Регистрация: 30.11.2010
Сообщений: 6
По умолчанию

Например
эти похожие
2 7
3 8
4 9
5 1
6 2

Ну и, насколько я понял, найти "похожие" на последний столбец
Yalovick вне форума Ответить с цитированием
Старый 29.12.2010, 12:30   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
если совпадают множества чисел, встречающихся в этих столбцах.
И где тут совпадения? Одни различия окромя двоек...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.12.2010, 12:50   #5
Yalovick
 
Аватар для Yalovick
 
Регистрация: 30.11.2010
Сообщений: 6
По умолчанию

Код:
const q=100;
const w=100;
const z=100;
var a:array[1..q,1..w] of integer;
 i,j,k,c,m,n,k1:integer;
begin
writeln('vvedite m strok i n stolbcov'); readln(m,n);
begin
for i:=1 to m do for j:=1 to n do
begin
 writeln('vvedite M[',i,';',j,']='); readln(a[i,j]);
 end;
 end;
c:=2;
for i:=1 to m do
begin
 if k1=n then  begin k:=k+1; c:=c+1; end
  else c:=c+1;
k1:=0;
for j:=1 to n do begin if a[1,j]=a[c,j] then  k1:=k1+1;
  end;
  end;
writeln('kolichestvo pohojih strok k=',k);
readln;
end.
Вот похожая, только тут похожие на первую строку
Похожие вот:

1 3 5
3 5 1
5 3 1

Последний раз редактировалось Yalovick; 29.12.2010 в 13:11.
Yalovick вне форума Ответить с цитированием
Старый 29.12.2010, 13:10   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Не разбирался особо, но предположу классический вариант с заменой счетчиков и индексов:
Код:
for i:=1 to n do begin
 if k1=n then  begin k:=k+1; c:=c+1; end
  else c:=c+1;
 k1:=0;
 for j:=1 to m do begin if a[j,1]=a[j,c] then  k1:=k1+1;  end;
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.12.2010, 14:48   #7
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

если в столбцах ест 2 одинаковые цифры, они похожи, я правелно понял?
VirusN13
ArtGrek вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Матрица Владимир Чернов Помощь студентам 0 01.12.2010 15:55
Непонятки с DirectX (матрица поворота, камера, матрица проекции) ROD Общие вопросы C/C++ 2 17.09.2010 17:00
Матрица elya88 Помощь студентам 10 01.02.2010 16:33
TurboPascal: граф, матрица смежности и матрица инцидентности. ulala Помощь студентам 0 02.12.2009 10:11