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

Проверка столбцов на наличие одинаковых элементов - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
GreenX
0 / 0 / 0
Регистрация: 06.02.2012
Сообщений: 8
07.02.2012, 05:08     Проверка столбцов на наличие одинаковых элементов #1
Как осуществить в двумерном массиве проверку на наличие в столбцах одинаковых элементов, код программы не могу составить
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2012, 05:08     Проверка столбцов на наличие одинаковых элементов
Посмотрите здесь:

C++ Составить программу для проверки, есть ли в массиве одинаковые элементы. Проверить на наличие одинаковых элементов линейные таблицы А [10] и В [12]. И
C++ Проверка массива на наличие совпадающих элементов
Найти номер первого из ее столбцов содержащих максимальное количество одинаковых элементов и вывести этот столбец вместе с номером C++
C++ Дана целочисленная матрица. Найти номер первого из ее столбцов, содержащих минимальное количество одинаковых элементов
C++ Проверка на наличие файла
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
07.02.2012, 06:32     Проверка столбцов на наличие одинаковых элементов #2
Если двумерный массив a[][] размером N*M уже есть, то можно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
for(int j=0; j<M; j++)
{
    bool fl=true;
    for(int i=1; i<N && fl; i++)
        for(int y=0; y<i; y++)
            if(a[i][j]==a[y][j])
            {
                fl=false;
                break;
            }
    if(fl)
    {
        // в столбце j нет одинаковых элементов
    }
    else
    {
        // в столбце j есть одинаковые элементы
    }
}
GreenX
0 / 0 / 0
Регистрация: 06.02.2012
Сообщений: 8
07.02.2012, 07:04  [ТС]     Проверка столбцов на наличие одинаковых элементов #3
Благодарю, очень помогли, прям даже если честно сказать, спасли мою жопу от вылета из универа

Добавлено через 20 минут
Цитата Сообщение от valeriikozlov Посмотреть сообщение
Если двумерный массив a[][] размером N*M уже есть, то можно так:
C++
1
2
3
4
5
    if(fl)
    {
        // в столбце j нет одинаковых элементов
    }
}
А как в этом месте присвоить стобцу нового массива,который создается, элементы столбца, в котором как раз нет одинаковых элементов... просто c[i][j]=a[i][j] не прокатывает
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
07.02.2012, 08:06     Проверка столбцов на наличие одинаковых элементов #4
например так:
создаете заранее (до цикла который я написал) двумерный массив int b[][] размером N*M и переменную int M1=0;
Затем:
C++
1
2
3
4
5
6
7
        if(fl)
        {
                // в столбце j нет одинаковых элементов
            for(int i=0; i<N; i++)
                b[i][M1]=a[i][j];
            M1++;
        }
После этого используете массив b[][], учитывая что его размер N*M1
GreenX
0 / 0 / 0
Регистрация: 06.02.2012
Сообщений: 8
07.02.2012, 08:33  [ТС]     Проверка столбцов на наличие одинаковых элементов #5
вот спасибо, в принципе до самого дошло, но у меня занулял ненужные столбца, так как не было М1++... А так все просто замечательно
Yandex
Объявления
07.02.2012, 08:33     Проверка столбцов на наличие одинаковых элементов
Ответ Создать тему
Опции темы

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