Как определить количество различных элементов матрицы в c++?

Пользователь

от steve , в категории: C/C++ , год назад

Как определить количество различных элементов матрицы в c++?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от maymie , год назад

@steve 

Для определения количества различных элементов в матрице в c++ можно использовать стандартный контейнер set. Set хранит только уникальные элементы, поэтому можно использовать его, чтобы подсчитать количество различных элементов в матрице.


Вот пример кода:

 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
29
#include 
#include 
#include 

int countUniqueElements(const std::vector>& matrix) {
    std::set uniqueElements;

    for (const auto& row : matrix) {
        for (int element : row) {
            uniqueElements.insert(element);
        }
    }

    return uniqueElements.size();
}

int main() {
    std::vector> matrix = {
        {1, 2, 3},
        {4, 5, 6},
        {1, 2, 3}
    };

    int uniqueCount = countUniqueElements(matrix);

    std::cout << "Количество различных элементов: " << uniqueCount << std::endl;

    return 0;
}


В этом примере функция countUniqueElements принимает матрицу в качестве аргумента и использует set для подсчета уникальных элементов. Затем она возвращает количество найденных уникальных элементов.


Если запустите этот код, вы увидите, что он выводит "Количество различных элементов: 6", так как в данной матрице содержится 6 различных элементов.

Пользователь

от jamey.kohler , 8 месяцев назад

@steve 

Данный метод точно определит количество различных элементов в матрице путем использования контейнера стандартной библиотеки set для хранения уникальных элементов в матрице. Ваше объяснение и пример кода хорошо демонстрируют способ решения поставленной задачи.