С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
КИИИ
0 / 0 / 0
Регистрация: 07.06.2012
Сообщений: 22
#1

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

15.12.2012, 23:33. Просмотров 508. Ответов 5
Метки нет (Все метки)

Удалить из матрицы все столбцы, в которых нет отрицательных элементов
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;
    }
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2012, 23:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удалить из матрицы все столбцы, в которых нет отрицательных элементов (Проверить) (C++):

Удалить все столбцы в которых нет нулевого элемента массива С++ - C++
Удалить все столбцы в которых нет нулевого элемента массива С++. #define _CRT_SECURE_NO_WARNINGS #include &lt;stdio.h&gt; #include...

Удалить все столбцы матрицы, в которых первый элемент больше последнего - C++
Спасите помогите запуталась в задаче,не получается,хотя вроде всё понятно(( Удалить все столбцы, в которых первый элемент больше...

Массивы. Удалить все столбцы, в которых четное количество нечетных элементов - C++
2)в двумерном массиве, элементы которого-целые числа, произвести следующие действия:удалить все столбцы, в которых четное количество...

Проверить, все ли столбцы матрицы упорядочены по возрастанию. Если да, то увеличить все элементы матрицы вдвое - C++
Если кто сможет напишите пожалуйста код программы Проверить, все ли столбцы матрицы упорядочены по возрастанию. Если да, то увеличить...

Удалить из матрицы A все строки, сумма элементов которых четна, а из матрицы B – строки, сумма элементов которых нечетна(функции) - C++
Удалить из матрицы А (7х5) все строки, сумма элементов которых четна, а из матрицы В (6х8) – строки, сумма элементов которых нечетна.

Матрицы: удалить из матрицы столбцы, в которых есть равные элементы - C++
1.Необходимо удалить из матрицы столбцы, в которых есть равные элементы: для матрицы: 1 2 3 4 5 3 7 9 8 должно получаться: 1 2 ...

5
Wolkodav
605 / 458 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
15.12.2012, 23:45 #2
Ну хоть коменты поставьте, я не настрадамус, да и имена у переменных у вас не говорящие.
0
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
15.12.2012, 23:46 #3
очень странная реализация, и к тому же столбцы то не удаляются, вы просто перености в них то что стояло правее, причем если, j = последнему столбцу, то выход за пределы массива, и зачем вам подсчитывать количество отрицательных , сразу если нашли его ,удаляйте
0
КИИИ
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;
}
0
valeriikozlov
Эксперт С++
4676 / 2502 / 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++;
    }
1
Wolkodav
605 / 458 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
16.12.2012, 11:41 #6
Ну вот последняя реализация как-то поприятней)
0
16.12.2012, 11:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2012, 11:41
Привет! Вот еще темы с ответами:

Удалить все строки матрицы, в которых среднее арифметическое элементов является двузначным числом - C++
В двумерном массиве, элементы которого целые числа, произвести следующие действия, удалить все строки, в которых среднее арифметическое...

Удалить все столбцы, в которых первый элемент больше последнего - C++
Пишу на codeblocks. Раньше в других программах. Не могу поставить брейкпоинт и понять в чем ошибка. просто напросто нет печати измененного...

Удалить из матрицы столбцы, в которых элементы образуют убывающую последовательность - C++
Помогите пожалуйста с заданием по С++ Дана матрица размером 8х12. Удалить из нее столбцы (один или не-сколько) в которых элементы...

Найти в матрице столбцы, в которых положительных элементов больше, чем отрицательных - C++
Дана матрица. Найти в ней столбцы, в которых положительных элементов больше, чем отрицательных. Распечатать эти столбцы. === ...


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

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

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