Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
лалка123
2 / 2 / 0
Регистрация: 09.12.2014
Сообщений: 112
#1

Найти количество строк, похожих на первую строку данной матрицы - C++

30.06.2015, 13:52. Просмотров 409. Ответов 8
Метки нет (Все метки)

Дана целочисленная матрица размера M × N, элементы которой могут
принимать значения от 0 до 100. Различные строки матрицы назовем
похожими, если совпадают множества чисел, встречающихся в этих
строках. Найти количество строк, похожих на первую строку данной
матрицы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2015, 13:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти количество строк, похожих на первую строку данной матрицы (C++):

Найти количество строк, похожих на первую строку данной матрицы - C++
Дана целочисленная матрица размерности m х n, элементы значения от 0 до 100. Различные строки матрицы назовем похожими, если совпадают...

Найти количество столбцов, похожих на последний столбец данной матрицы. - C++
Matrix37. Дана целочисленная матрица размера M × N, элементы которой могут принимать значения от 0 до 100. Различные столбцы матрицы...

Двумерная матрица. Найти количество похожих строк. - C++
Дана целочисленная матрица размера M x N. Различные строки матрицы назовем похожими, если попарно совпадают больше половины чисел,...

Найти первую повторяющуюся строку в массиве строк - C++
Здравствуйте, существует задача: найти первую повторяющуюся строку в массиве строк. Подскажите пожалуйста как правильно реализовать...

Определить количество классов эквивалентных строк данной прямоугольной матрицы - C++
Определить количество классов эквивалентных строк данной прямоугольной матрицы. Строки считать эквивалентными, если равны суммы их...

Найти первую строку матрицы, в которой имеется отрицательный элемент, и упорядочить её по убыванию - C++
Саму матрицу получил, это было не так тяжело. Но не нравится компилятору моя переменная min почему-то. Я с похожей задачи содрал нахождение...

8
zss
Модератор
Эксперт С++
6575 / 6137 / 2021
Регистрация: 18.12.2011
Сообщений: 15,992
Завершенные тесты: 1
30.06.2015, 14:49 #2
Берем за основу.
Образцы (шаблоны) программ для типовых задач
и меняем функцию Procces
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// пример обработки матрицы - подсчет похожих строк
//
#include <algorithm> // нужно для функции sort
int Process( int ** M, size_t n, size_t m ) 
{
    int* t1=new int[m];
    int* t2=new int[n];
    for ( size_t j = 0; j < m; ++j )
            t1[j] = M[0][j]; // копируем первую строку
    sort(t1,t1+m); // сортируем копию
    int count=0; // счетчик похожих строк
    for ( size_t i = 1; i < n; ++i ) 
   {
       for ( size_t j = 0; j < m; ++j )
            t2[j] = M[i][j]; // копируем i-ю строку
       sort(t2,t2+m); // сортируем копию
       size_t j=0;
        for (; j < m; ++j )
            if(t2[j]!= t1[j])
                 break;
        if(j==m)
          count++; // j равно m тольео если все элементы совпали
    }
    delete[] t1;
    delete[] t2;
    return count;
}
0
лалка123
2 / 2 / 0
Регистрация: 09.12.2014
Сообщений: 112
30.06.2015, 15:07  [ТС] #3
что - то не получается(, выдает ошибку в строке :
Цитата Сообщение от zss Посмотреть сообщение
sort(t1,t1+m);
0
Ilot
Модератор
Эксперт С++
1823 / 1181 / 232
Регистрация: 16.05.2013
Сообщений: 3,118
Записей в блоге: 5
Завершенные тесты: 1
30.06.2015, 15:10 #4
C++
1
std::sort(t1,t1+m);
0
лалка123
2 / 2 / 0
Регистрация: 09.12.2014
Сообщений: 112
30.06.2015, 15:21  [ТС] #5
не понимаю уже, после всего, выдает ошибку: 1) cannot find -lbgi
2) ld returned 1 exit status
0
zss
Модератор
Эксперт С++
6575 / 6137 / 2021
Регистрация: 18.12.2011
Сообщений: 15,992
Завершенные тесты: 1
30.06.2015, 16:16 #6
Приводите полный код того, что компилируете и номер строки, в которой ошибка.
0
лалка123
2 / 2 / 0
Регистрация: 09.12.2014
Сообщений: 112
30.06.2015, 17:12  [ТС] #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <algorithm> 
 
int Process( int ** M, size_t n, size_t m ) 
 
{
    int* t1=new int[m];
    int* t2=new int[n];
    for ( size_t j = 0; j < m; ++j )
            t1[j] = M[0][j];
   std::sort(t1,t1+m); 
    int count=0;
    for ( size_t i = 1; i < n; ++i ) 
   {
       for ( size_t j = 0; j < m; ++j )
            t2[j] = M[i][j]; 
   std::sort(t2,t2+m); 
       size_t j=0;
        for (; j < m; ++j )
            if(t2[j]!= t1[j])
                 break;
        if(j==m)
          count++; 
    }
    delete[] t1;
    delete[] t2;
    return count;
   
}
0
zss
Модератор
Эксперт С++
6575 / 6137 / 2021
Регистрация: 18.12.2011
Сообщений: 15,992
Завершенные тесты: 1
30.06.2015, 17:28 #8
А вот это кто будет вставлять:
Образцы (шаблоны) программ для типовых задач
Вроде, я понятно написал. Скопировать образец и в нем ЗАМЕНИТЬ функцию Process.

Вам еще придется подправить код функции main().
Вы обязаны разобраться, как.
0
лалка123
2 / 2 / 0
Регистрация: 09.12.2014
Сообщений: 112
30.06.2015, 17:35  [ТС] #9
спасибо
0
30.06.2015, 17:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.06.2015, 17:35
Привет! Вот еще темы с ответами:

Определить количество классов эквивалентных строк данной прямоугольной матрицы. Строки считать эквивалентными, если равны суммы их элементов. - C++
подскажите Определить количество классов эквивалентных строк данной прямоугольной матрицы. Строки считать эквивалентными, если равны...

Найти количество строк в максимальном множестве попарно непохожих строк заданной матрицы - C++
Мир всем, помогите понять суть задания: &quot;Две строки матрицы назовем похожими, если совпадают множества чисел встречающихся в этих...

Матрицы: поменять местами первую строку и строку, содержащую максимальный элемент - C++
1)В матрице поменять местами 1 строку и строку содержащие последнее вхождение элемента максимального где максимальный- максимальный элем...

Заменить строку матрицы с максимальной суммой элементов на первую строку - C++
3.Заменить строку матрицы P(n,m) с максимальной суммой элементов на первую строку поэлементно.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.