Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 19.04.2016
Сообщений: 5
1

Как найти строки-сёстры?

19.04.2016, 22:38. Показов 1044. Ответов 2
Метки нет (Все метки)

Здравствуйте, подскажите пожалуйста!
нужно найти в матрице строки состоящие из одинаковых элементов, различающихся только порядком записи элементов, т.е. строки 1 2 3 и 2 3 1 - строки -сёстры,
например дан массив:
1 2 3
3 2 1
4 7 8
нужно вывести: 2 строки сестры.
могу сделать программу чтобы найти строки с одинаковыми суммами, а вот проверить на знаки не получается((
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.04.2016, 22:38
Ответы с готовыми решениями:

Двоюродные братья и сестры
Есть такая задача: Три брата, Пьер, Поль и Жак, во время отпуска собрали всех своих детей в...

Ребус НАТАША + ТОНЯ = СЁСТРЫ
НАТАША + ТОНЯ = СЁСТРЫ

Написать программу которая сравнивает возраст брата и сестры
Составьте программу, которая сравнивает возраст брата и сестры и выводит соответствующее сообщение.

Кто-нибудь имеет успешный опыт вовлечения свой жены/подруги/сестры в наш бизнес?
Все привет, вижу что наш "программисткий" бизнес стремительно развивается, и это здорово. Иногда...

2
260 / 208 / 99
Регистрация: 13.12.2015
Сообщений: 1,098
19.04.2016, 23:08 2
Лучший ответ Сообщение было отмечено Retoko как решение

Решение

Цитата Сообщение от Retoko Посмотреть сообщение
могу сделать программу чтобы найти строки с одинаковыми суммами
а суммы не помогут, тк 3+1=2+2

Добавлено через 1 минуту
можно ведь строки упорядочить и сравнить - например

Добавлено через 2 минуты
те берем матрицу, создаем аналогичную (можно динамически), упорядочиваем строки (по возрастанию или убыванию - все равно), сравниваем строки между собой и выводим строки сестры из первой матрицы
1
160 / 152 / 92
Регистрация: 18.11.2015
Сообщений: 677
20.04.2016, 00:15 3
Лучший ответ Сообщение было отмечено Retoko как решение

Решение

Кстати, да, сортировка перед всей этой лабудой - хорошая идея! У меня вышел такой код:
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 <iostream>
#include <vector>
#include <algorithm>
 
int main() {
 
    std::vector<std::vector<int>> matrix =  {
                                                {2, 1, 3},
                                                {3, 2, 1, 7},
                                                {2, 7, 3, 1},
                                                {2, 3, 1}
                                            };
 
    // Сортируем каждую строку индивидуально
    for (int i = 0; i < matrix.size(); i++)
        std::sort(begin(matrix[i]), end(matrix[i]));
 
    // Проверяем на наличие сестер каждую строку относительно каждой другой, кроме самой себя
    for (int i = 0; i < matrix.size(); i++) {
        for (int j = 0; j < i; j++) {
            // Функция std::equal() проверит, равно ли содержимое matrix[i] и содержимое matrix[j]
            if (std::equal(begin(matrix[i]), end(matrix[i]), begin(matrix[j]), end(matrix[j])) && j != i)
                std::cout << "Index " << j << " and " << i << " are sisters!\n";
        }
    }
    
    return 0;
}
Добавлено через 2 минуты
После сортировки наша матрица будет выглядеть так:

C++
1
2
3
4
5
6
std::vector<std::vector<int>> matrix =  {
                                            {1, 2, 3},
                                            {1, 2, 3, 7},
                                            {1, 2, 3, 7},
                                            {1, 2, 3}
                                        };
Что даст нам возможность воспользоваться функцией std::equal(), которая с легкостью определит "сестер"!
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.04.2016, 00:15

Составить запрос, который покажет имена и фамилии всех детей, чьи братья или сестры ходят в тот же садик
Есть готовая база (схема на картинке). Необходимо составить запрос, который покажет имена и...

Написать запрос, находящий среди всех детей садика тех, чьи сестры или братья тоже посещают садик
здравствуйте! нужна помощь.. От меня требуется написать запрос, находящий среди всех детей садика...

Найти сумму каждой строки в двумерном массиве и найти номер строки с наибольший суммой
Требуется найти сумму каждой строки в двумерном массиве и найти номер строки с наибольший суммой....

Строки. Если в конце строки точка отсутствует, то найти слово, заканчивающееся точкой и перенести его в конец строки.
Дана строка, состоящая из слов и содержащая одну точку в конце одного из слов. Если в конце строки...


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

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

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