Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
алиса 623
1 / 1 / 0
Регистрация: 18.09.2017
Сообщений: 18
1

Найти в матрице первый столбец, все элементы которого положительны

14.10.2017, 14:38. Просмотров 790. Ответов 1
Метки нет (Все метки)

Здравствуйте . Помогите пожалуйста написать код. Уже 3 день бьюсь. не получается.

Найти в матрице первый столбец, все элементы которого положительны. Знаки элементов предыдущего столбца изменить на противоположные.
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.10.2017, 14:38
Ответы с готовыми решениями:

Найти в матрице первую строку, все элементы которой положительны
Найти в матрице первую строку, все элементы которой положительны

Найти в матрице первую строку, все элементы которой положительны
помогите плиииз

Есть ли в матрице столбец, элементы которого образуют возрастающую последовательность?
Есть такая программа для работы с матрицами. Там где функция характеристика необходима проверка...

Найти номер столбца матрицы в котором все элементы положительны
Такое задание: нужно найти номер первого столбца матрицы в котором все элементы положительны.

Найти в матрице первый столбец, содержащий максимальное количество одинаковых элементов
Дана целочисленная матрица размера M х N. Найти номер первого из ее столбцов, содержащих...

1
anapshy
252 / 233 / 198
Регистрация: 14.11.2016
Сообщений: 882
Завершенные тесты: 3
14.10.2017, 16:09 2
Лучший ответ Сообщение было отмечено алиса 623 как решение

Решение

Для строк:
C++
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
30
31
const std::size_t npos(-1U);
 
std::size_t FindPositiveLine(int **matrix, std::size_t rows, std::size_t cols)
{
    std::size_t positive_line(npos);
    for (std::size_t i(0); i < rows; ++i)
    {
        bool isPositive(true);
        for (std::size_t j(0); j < cols; ++j)
        {
            if (matrix[i][j] < 0)
            {
                isPositive = false;
                break;
            }
        }
        if (isPositive)
        {
            positive_line = i;
            if (i)
            {
                for (std::size_t j(0); j < cols; ++j)
                {
                    matrix[i - 1][j] = -matrix[i - 1][j];
                }
            }
            break;
        }
    }
    return positive_line;
}
Добавлено через 25 минут
Для столбцов:
C++
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
30
31
const std::size_t npos(-1U);
 
std::size_t FindPositiveCol(int **matrix, std::size_t rows, std::size_t cols)
{
    std::size_t positive_col(npos);
    for (std::size_t j(0); j < cols; ++j)
    {
        bool isPositive(true);
        for (std::size_t i(0); i < rows; ++i)
        {
            if (matrix[i][j] < 0)
            {
                isPositive = false;
                break;
            }
        }
        if (isPositive)
        {
            positive_col = j;
            if (j)
            {
                for (std::size_t i(0); i < rows; ++i)
                {
                    matrix[i][j - 1] = -matrix[i][j - 1];
                }
            }
            break;
        }
    }
    return positive_col;
}
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.10.2017, 16:09

Поменять 1 столбец с последним, у которого все элементы положительные
Дан массив размерности M&lt;=N. Поменять 1 столбец с последним у которого все элементы положительные....

в матрице А(n x m) найти первый столбец, не содержащий отрицательных элементов, и умножить его как вектор на матрицу А
2. в матрице А(n x m) найти первый столбец, не содержащий отрицательных элементов, и умножить его...

В матрице найти элементы min и max и найти в каких индексах они находятся (столбец и строка)
Задание: Дан массив 20x5. В нем найти элементы min и max и найти в каких индексах они находятся....


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

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

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