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

Удалить из матрицы все столбцы, в которых нет отрицательных элементов (Проверить) - C++

Восстановить пароль Регистрация
 
КИИИ
0 / 0 / 0
Регистрация: 07.06.2012
Сообщений: 22
15.12.2012, 23:33     Удалить из матрицы все столбцы, в которых нет отрицательных элементов (Проверить) #1
Удалить из матрицы все столбцы, в которых нет отрицательных элементов
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int otr=0;
    j=0;
    while(j<m)
    {
        
        {
            for(i=0;i<n;i++)
            if (A[i][j]<0)
            otr=otr+1;
    }
    {
    {
        for (i=0;i<n;i++)
            if(otr=0)
                A[i][j]=A[i][j+1];
        m--;
    }
        j++;
    otr=0;
    }
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2012, 23:33     Удалить из матрицы все столбцы, в которых нет отрицательных элементов (Проверить)
Посмотрите здесь:

Проверить, все ли столбцы матрицы упорядочены по возрастанию. Если да, то увеличить все элементы матрицы вдвое C++
Матрицы: удалить из матрицы столбцы, в которых есть равные элементы C++
C++ Удалить все столбцы матрицы, в которых первый элемент больше последнего
Массивы. Удалить все столбцы, в которых четное количество нечетных элементов C++
Удалить из матрицы A все строки, сумма элементов которых четна, а из матрицы B – строки, сумма элементов которых нечетна(функции) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Wolkodav
 Аватар для Wolkodav
599 / 452 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
15.12.2012, 23:45     Удалить из матрицы все столбцы, в которых нет отрицательных элементов (Проверить) #2
Ну хоть коменты поставьте, я не настрадамус, да и имена у переменных у вас не говорящие.
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
15.12.2012, 23:46     Удалить из матрицы все столбцы, в которых нет отрицательных элементов (Проверить) #3
очень странная реализация, и к тому же столбцы то не удаляются, вы просто перености в них то что стояло правее, причем если, j = последнему столбцу, то выход за пределы массива, и зачем вам подсчитывать количество отрицательных , сразу если нашли его ,удаляйте
КИИИ
0 / 0 / 0
Регистрация: 07.06.2012
Сообщений: 22
15.12.2012, 23:55  [ТС]     Удалить из матрицы все столбцы, в которых нет отрицательных элементов (Проверить) #4
Цитата Сообщение от Nixy Посмотреть сообщение
очень странная реализация, и к тому же столбцы то не удаляются, вы просто перености в них то что стояло правее, причем если, j = последнему столбцу, то выход за пределы массива, и зачем вам подсчитывать количество отрицательных , сразу если нашли его ,удаляйте
Но мне нужно удалить столбцы в которых наоборот нет ни одного отрицательного элемента. Подскажите как лучше сделать??

Добавлено через 4 минуты
А вот так нельзя? Правда он тоже не работает...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int otr=0;
    j=0;
{
    while(j<m)
{
    for(i=0;i<n;i++)
    if (A[i][j]<0)
    otr=otr+1;//подсчитываем сколько отрицательных элементов в столбце
}
    if(otr=0)//если нет ни одного отр.эл. то удаляем столбец. 
    m--;
    for (i=0;i<n;i++)
{
    A[i][j]=A[i][j+1];
}
    j++;
    otr=0;
}
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
16.12.2012, 09:55     Удалить из матрицы все столбцы, в которых нет отрицательных элементов (Проверить) #5
проверяйте:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    int j=0, y;
    while(j<m)
    {
        for(i=0;i<n;i++)
            if (A[i][j]<0)
                break;
        if(i==n)//если нет ни одного отр.эл. то удаляем столбец. 
        {
            for(y=j; y<m-1; y++)
                for(i=0; i<n; i++)
                    A[i][y]=A[i][y+1];
            m--;
            j--;
        }
        j++;
    }
Wolkodav
 Аватар для Wolkodav
599 / 452 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
16.12.2012, 11:41     Удалить из матрицы все столбцы, в которых нет отрицательных элементов (Проверить) #6
Ну вот последняя реализация как-то поприятней)
Yandex
Объявления
16.12.2012, 11:41     Удалить из матрицы все столбцы, в которых нет отрицательных элементов (Проверить)
Ответ Создать тему
Опции темы

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