Форум программистов, компьютерный форум CyberForum.ru

Выписать неповторяющиеся элементы матрицы в массив - C++

Восстановить пароль Регистрация
 
eamirus
1 / 1 / 0
Регистрация: 14.09.2013
Сообщений: 26
10.04.2014, 20:44     Выписать неповторяющиеся элементы матрицы в массив #1
Как сформировать новый массив из двухмерного, при том что элементы не должны повторяться?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2014, 20:44     Выписать неповторяющиеся элементы матрицы в массив
Посмотрите здесь:

В новый динамический массив выписать все элементы массива, которые делятся на заданное число C++
C++ Ввести одномерный статический массив из n чисел и вывести все неповторяющиеся элементы.
Упорядочить все элементы матрицы таким образом, чтобы при чтении матрицы по строкам ее элементы образовывали отсортированный по возрастанию массив C++
C++ Дана матрица как выписать все элементы матрицы,находящиеся выше главной диагонали?
C++ Вывести все неповторяющиеся элементы массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
KasyanDiGris
0 / 0 / 1
Регистрация: 10.04.2014
Сообщений: 9
10.04.2014, 21:06     Выписать неповторяющиеся элементы матрицы в массив #2
Тебя интересует хоть какой-то или самый простой алгоритм?
eamirus
1 / 1 / 0
Регистрация: 14.09.2013
Сообщений: 26
10.04.2014, 21:46  [ТС]     Выписать неповторяющиеся элементы матрицы в массив #3
Попроще конечно, не хочу совсем сложный.
KasyanDiGris
0 / 0 / 1
Регистрация: 10.04.2014
Сообщений: 9
10.04.2014, 22:38     Выписать неповторяющиеся элементы матрицы в массив #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Я имел ввиду сложность алгоритма
Можно в лоб брать элемент для него еще раз просматривать матрицу
А потом ели не было его, то заносить в массив
А если хочешь лучший алгоритм, то можно сделать априори наоборот, или, у меня есть литература, где может быть что-то похожее

Добавлено через 7 минут
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
double* newArr = NULL; //Новый массив
int newArrSize = 0; //Размер нового массива
for (int i = 0; i < numRow; i++) //Начинаем просматривать матрицу (я взял ее arr)
    for (int j = 0; j < numCol; j++)
    {
        double current = arr[i][j]; //Берем значение
        int num = 0; //Сколько раз это значение встречается
        for (int m = 0; m < numRow; m++) //Начитнаем подсчет входа элемента в матрицу
            for (int n = 0; n < numCol; n++)
                if(current == arr[m][n])
                    num++;
        if (num == 1) //Если только один раз
        {
            newArrSize++; //Увеличиваем размер нового массива
            newArr = (double *)realloc(newArr, sizeof(double) * newArrSize); //Перевыделяем память
            newArr[newArrSize - 1] = current; //Заносим элемент
        }
    }
eamirus
1 / 1 / 0
Регистрация: 14.09.2013
Сообщений: 26
10.04.2014, 22:52  [ТС]     Выписать неповторяющиеся элементы матрицы в массив #5
Спасибо, понял!
Yandex
Объявления
10.04.2014, 22:52     Выписать неповторяющиеся элементы матрицы в массив
Ответ Создать тему
Опции темы

Текущее время: 11:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru