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

Матрицы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Декларирование классов http://www.cyberforum.ru/cpp-beginners/thread71615.html
помогите пожалуйста................. :((((( Найти сумму n членов ряда Фибоначчи.
C++ Создание и обработка файлов в С Информация об участниках соревнований содержит: - Ф.И.О. игрока; - игровой номер; - возраст; - рост; - вес. Вывести информацию о самом молодом и рослом игроке. http://www.cyberforum.ru/cpp-beginners/thread71614.html
Построение пустого кольца C++
Разработать программу работы с односвязным кольцом. Программа должна содержать следующие процедуры, вызываемые из меню: - построение пустого кольца; - добавление нового элемента; - удаление...
C++ алгоритм построения всех способов представления целого числа М в виде суммы чисел
Всем привет! кто может такое написать ?? Составить алгоритм построения всех способов представления целого числа М в виде суммы чисел из заданного набора f1,...,fn причем эти числа НЕ...
C++ Разработка и отладка алгоритмов и программ с использованием указателей http://www.cyberforum.ru/cpp-beginners/thread71609.html
Помогите пожалуйста... Программа должна содержать систему меню (пункты 1,2 – вызывают выполнение соответствующих заданий, 3 – окончание работы программы). При написании программы все пункты...
C++ Перемножыть матрицы 2*3 и 3*2, в итоге должна быть матрица 3*3, здесь и трудность #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv) { int i,j,k,l; int a={{1,2,3},{4,2,1}}, b={{1,0},{2,1},{3,5}},c; for (i=0; i<2; i++) подробнее

Показать сообщение отдельно
Sayrus89
31 / 31 / 1
Регистрация: 26.10.2009
Сообщений: 98
08.12.2009, 00:15
ну на глаз набросал для диагоналей, которые выше главной :
n - размерность матрицы (естественно, матрица должны быть квадратной и это нужно проверять в программе)
Matrix - наш двумерный массив
Summ - переменная, в которой будет хранится сумма текущей диагонали (не забудь объявить перед циклом)

C++
1
2
3
4
5
6
7
8
9
for (int j = 1; j<n; j++) {
    for (int Col = j; Col < n; Col++) {
        for (int Row = 0; Row < (n - j); Row++) {
            Summ += Matrix[Row][Col];
        }
    }
    cout << "Сумма диагонали (начало в точке [0][" << j << "] = " << Summ << endl;
    Summ = 0;
}
Попробуй сделать теперь для диагоналей, которые ниже

Добавлено через 9 минут
Вот для диагоналей ниже главной (и параллельных ей естесно) :

C++
1
2
3
4
5
6
7
8
9
for (int i = 0; i<n; j++) {
    for (int Row = i; Row < n; Row++) {
        for (int Col = 0; Col < (n - i); Col++) {
            Summ += Matrix[Row][Col];
        }
    }
    cout << "Сумма диагонали (начало в точке [" << i << "][0] = " << Summ << endl;
    Summ = 0;
}
Если честно не уверен, но принцип должен был правильный. Попробуй нарисовать матрицу на листке бумаги и вручную просчитать, как мы должны изменять индексы строки и столбца
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru