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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.06.2009, 18:35   #1
Kolianno
Новичок
Джуниор
 
Регистрация: 01.06.2009
Сообщений: 1
По умолчанию Похожие строки матрицы

Хм, что-то как-то не получается у меня сделать одно задание, помогите если могите))
Задание: Дана целочисленная матрица размера M на N. Строки матрицы назовём похожими, если совпадают множества чисел, встречающихся в этих строках. Найти количество похожих строк в матрице.

вот собственно, что я пытался сделать, да как-то не очень что у меня получилось:)
не знаю, как красиво оформить код на форуме, поэтому выложу в таком страшном виде...)


Код:
#include<iostream.h>
#include<math.h>
#include<conio.h>
#include<stdlib.h>
main()
{
int N=5, M=6;
double *B;
for (int j=0; j<M; j++)
B[j]=0;
double **A;
A=new double*[N];
for (int i=0; i<N; i++)
A[i]=new double[M];
for (int i=0; i<N; i++){
for (int j=0; j<M; j++)
A[i][j]=(random(10));
}
for (int i=0; i<N; i++){
for (int j=0; j<M; j++)
cout<<" "<<A[i][j];
cout<<endl;
}
for(int i=0; i<N; i++)
for(int j=0; j<M; j++)
for(int k=i+1; k<N; k++)
//как мне кажется, здесь я проверяю похожесть множеств чисел в строчках)
//но наверно где-то в этом районе и кроется ошибка, а вот только где не знаю...
if(A[i][j]==A[k][j])
B[j]=1;
int S=0;
for(int j=0; j<M; j++)
if(B[j]==1)
S=S+1;
cout<<"TToxo}|{ux cTpok"<<S;
getch();
}
Модератор: тег CODE

Последний раз редактировалось Sazary; 01.06.2009 в 18:38.
Kolianno вне форума Ответить с цитированием
Старый 01.06.2009, 19:10   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

У вас не выделяется память под массив B.
И еще очищайте память в конце.

Цитата:
Строки матрицы назовём похожими, если совпадают множества чисел, встречающихся в этих строках.
Это как? То есть если две строки состоят из одних и тех же чисел, только с разным порядком?

Если так, то можно отсортировать все строки и потом просто сравнивать поэлементно.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
язык С матрицы и строки AlinAA Фриланс 1 16.05.2009 00:36
Циклический сдвиг строки матрицы Alex1991 Помощь студентам 1 14.04.2009 21:20
Перестановка столбцов матрицы и строки. MaGWaY_minsk Помощь студентам 3 06.02.2009 00:55
удалить похожие строки ZORRO2005 Microsoft Office Excel 0 28.11.2006 22:03