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

двумерный массив- побочные диагонали - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 64, средняя оценка - 4.66
Mogul-kan
23 / 23 / 2
Регистрация: 24.04.2010
Сообщений: 220
23.01.2011, 19:21     двумерный массив- побочные диагонали #1
Привет всем. Пишу на Си. Как в матрице(двумерный массив mass[M][N]) найти минимальный элемент, лежащий ниже побочной диагонали?

и как вообще отсеиваются элементы побочной диагонали(выше побочной диагонали, ниже побочной диагонали , и сабсно сами побочные диагонали)?

Добавлено через 1 час 0 минут
мне хотя бы примерно в словах... точно все расписывать не надо. хочу понять смысл как отсеиваются элементы (выше побочной диагонали, ниже побочной диагонали , и сабсно сами побочные диагонали)?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2011, 19:21     двумерный массив- побочные диагонали
Посмотрите здесь:

Дан двумерный массив, поменять элементы относительно главной диагонали C++
Является ли двумерный массив симметричным относительно главной диагонали C++
C++ Двумерный массив. Посчитать сумму элементов, расположенных по побочной диагонали
Задать двумерный массив. Посчитать сумму элементов главной диагонали C++
Дан двумерный массив. Упорядочить элементы каждой строки массива; сформировать одномерный массив из элементов главной диагонали упорядоченного массива C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vandris
 Аватар для Vandris
63 / 63 / 13
Регистрация: 19.01.2011
Сообщений: 90
23.01.2011, 20:56     двумерный массив- побочные диагонали #2
Если главная диагональ характеризуется i = j, то побочная будет так: i+j = N-1; где N - размер матрицы(матрица квадратная!), соответственно элементы выше побочной диагонали будут как i+j < N-1, ниже побочной диагонали i+j > N-1, ну и код для наглядности:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
int main()
{
    const int N = 5;
    int matrix[N][N] = {};
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < N; j++)
        {
            if (i+j == N-1)
                matrix[i][j] = 2;   //побочная диагональ
            if (i+j < N-1)
                matrix[i][j] = 1;  //выше побочной
            if (i+j > N-1)
                matrix[i][j] = 3;  //ниже побочной
            std::cout << matrix[i][j] << " ";
        }
        std::cout << std::endl;
    }
}
Mogul-kan
23 / 23 / 2
Регистрация: 24.04.2010
Сообщений: 220
23.01.2011, 21:28  [ТС]     двумерный массив- побочные диагонали #3
а что делать в случае если матрица не квадратная? как тогда нужно поступить?
archinko
13 / 13 / 2
Регистрация: 02.03.2010
Сообщений: 29
23.01.2011, 22:20     двумерный массив- побочные диагонали #4
У не квадратных матриц диагоналей нет. Можно ,конечно, абстрагироваться, и все-таки представить диагональ у не квадтраной матрицы, но как ты ее будешь представлять зависит только от тебя( то есть у нее может быть разный путь, кто-то смотрит слева на право, а кто-то справа на лево). Ну и после того как ты решил, что следует считать диагональю не квадратной матрицы, нужно сесть, проанализировать, найти закономерности и вывести формулу, алгоритм или бла-бла-бла...
mikserka
Сообщений: n/a
06.04.2011, 20:29     двумерный массив- побочные диагонали #5
с квадратными матрицами все проще.

i>j - ниже главной диагонали
i<j - выше.
VASSUV
MiThEoN
 Аватар для VASSUV
412 / 278 / 15
Регистрация: 31.10.2009
Сообщений: 403
Записей в блоге: 2
06.04.2011, 20:51     двумерный массив- побочные диагонали #6
Если матрица не квадратная ,тогда считаю диагонали от верхних углов.
для побочной диагонали условие того что элемент ниже диагонали
i > n - j - 1
Yandex
Объявления
06.04.2011, 20:51     двумерный массив- побочные диагонали
Ответ Создать тему
Опции темы

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