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

В квадратной матрице проверять на отрицательность числа ниже побочной диагонали - C++

Восстановить пароль Регистрация
 
alexandria_59
22 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 19
18.03.2014, 17:44     В квадратной матрице проверять на отрицательность числа ниже побочной диагонали #1
Дана квадратная матрица, которая заполняется рандомно. Помогите написать цикл который будет проверять на отрицательность числа ниже побочной диагонали.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2014, 17:44     В квадратной матрице проверять на отрицательность числа ниже побочной диагонали
Посмотрите здесь:

В квадратной матрице отсортировать строки, у которых на побочной диагонали стоять четные элементы C++
C++ В квадратной матрице найти максимальный среди элементов, лежащих ниже побочной диагонали.
C++ Найти в квадратной матрице сумму элементов, расположенных ниже побочной диагонали
В квадратной матрице провести сортировку тех строк, в которых на побочной диагонали стоит четное число C++
C++ как обнулить в квадратной матрице элементы, лежащие выше главной и ниже побочной диагонали. условный оператор не использовать!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
18.03.2014, 18:04     В квадратной матрице проверять на отрицательность числа ниже побочной диагонали #2
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
32
33
34
35
36
37
38
#include <iostream>
#include <iomanip>
 
int main()
{
    srand(time(0));
    int n;
    std::cout << "Enter n: "; std::cin >> n;
    std::cout << std::endl;
    int** M = new int*[n];
    for(int i = 0; i < n; i++)
        M[i] = new int[n];
    
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < n; j++)
        {
            M[i][j] = 100 - rand() % 200;
            std::cout << std::setw(5) << M[i][j];
        }
        std::cout << "\n\n";
    }
    
    std::string line(n * 5, '=');
    std::cout << line << std::endl;
    
    for(int i = 0; i < n; i++)
        for(int j = 0; j < n; j++)
            if(i + j > n - 1 && M[i][j] < 0)
                std::cout << "[" << i << "][" << j << "] = " << M[i][j] << std::endl;
    
    for(int i = 0; i < n; i++)
        delete [] M[i];
    delete [] M;
    
    system("pause");
    return 0;
}
Borjch
10 / 10 / 3
Регистрация: 09.01.2014
Сообщений: 29
18.03.2014, 18:05     В квадратной матрице проверять на отрицательность числа ниже побочной диагонали #3
C++
1
2
3
4
for (int i=0; i< n; i++ )
 for (int j=n-i+2; j< n; j++ )
  if (a[i][j]<0)
    cout<< "число отрицательное";
Borjch
10 / 10 / 3
Регистрация: 09.01.2014
Сообщений: 29
20.03.2014, 18:10     В квадратной матрице проверять на отрицательность числа ниже побочной диагонали #4
Извините, все говно..Там не нужно +2
zss
Модератор
Эксперт С++
 Аватар для zss
5953 / 5558 / 1787
Регистрация: 18.12.2011
Сообщений: 14,204
Завершенные тесты: 1
20.03.2014, 18:15     В квадратной матрице проверять на отрицательность числа ниже побочной диагонали #5
Цитата Сообщение от Borjch Посмотреть сообщение
Там не нужно +2
А нужно -1
C++
1
2
3
4
for (int i=1; i< n; i++ ) // в 0 строке нет нужных элементов
 for (int j=n-i-1; j< n; j++ )
  if (a[i][j]<0)
    cout<< "число отрицательное";
Borjch
10 / 10 / 3
Регистрация: 09.01.2014
Сообщений: 29
20.03.2014, 18:20     В квадратной матрице проверять на отрицательность числа ниже побочной диагонали #6
Ну тогда будет вместе с побочной диагональю, а написано ниже
zss
Модератор
Эксперт С++
 Аватар для zss
5953 / 5558 / 1787
Регистрация: 18.12.2011
Сообщений: 14,204
Завершенные тесты: 1
20.03.2014, 18:23     В квадратной матрице проверять на отрицательность числа ниже побочной диагонали #7
Цитата Сообщение от Borjch Посмотреть сообщение
будет вместе с побочной диагональю
Будет выход за границы массива при i=0, j=n-i=n
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.03.2014, 18:30     В квадратной матрице проверять на отрицательность числа ниже побочной диагонали
Еще ссылки по теме:

В квадратной матрице найти сумму элементов ниже главной диагонали C++
C++ В квадратной матрице вычислить сумму элементов, принадлежащих побочной диагонали.
Заменить в данной матрице все элементы ниже побочной диагонали числом 5 C++

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

Или воспользуйтесь поиском по форуму:
Borjch
10 / 10 / 3
Регистрация: 09.01.2014
Сообщений: 29
20.03.2014, 18:30     В квадратной матрице проверять на отрицательность числа ниже побочной диагонали #8
ну там же j<n, а не j<=n, так что при i=0, j=n-i=n тело не выполнится
Yandex
Объявления
20.03.2014, 18:30     В квадратной матрице проверять на отрицательность числа ниже побочной диагонали
Ответ Создать тему
Опции темы

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