Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.01.2017, 19:44   #1
EnJoYs
 
Регистрация: 05.01.2017
Сообщений: 4
По умолчанию [C++] Вычисление произведения элементов вторичной диагонали матрицы

Вообще что-то получилось вот только на оборот Выводится главная диагональ, а не вторична ) и выполняется не произведение ,а сумма) не стану отрицать код собирал по кускам я не очень в c++ .
Необходимо найти вторичную диагональ и её произведение .
Зарание спс и с праздничками)

Код:
#include <iostream>

#include <ctime>

using namespace std;

int main()

{

int z ;

cout << "add number ";

cin >> z;

int sum = 0;

const int size = z;

int a[z][z];

for (int n = 0; n < size; n++)

for (int m = 0; m < size; m++)

a[n][m] = rand() % 10 + rand() % 10 * -1 ;

for (int n = 0; n < size; n++, cout << endl)

for (int m = 0; m < size; m++)

cout << a[n][m] << ' ';

for (int n = 0; n < size; n++, cout << endl)

for (int m = 0; m < size; m++)

if (n == m )

cout << "diag " << a[n][m];

for (int n = 0; n < size; n++, cout << endl)

for (int m = 0; m < size; m++)
if (n == m )


sum += a[n][m];

cout << "sum = " << sum ;

return 0;

}

Последний раз редактировалось Вадим Мошев; 07.01.2017 в 01:08.
EnJoYs вне форума Ответить с цитированием
Старый 05.01.2017, 20:41   #2
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

1) Чтобы обратится к элементам (не главной диагонали, а) побочной необходимо всего лишь заменить условие ("n == m"), которая находится в в строчках:
Код:
if (n == m )
на условие побочной диагонали. Его ты можешь найти здесь:

http://www.programmersforum.ru/showthread.php?t=70310

Внимательно прочитай что там написано, найди условие главной/побочной диагонали, проведи аналогии, пойми что нужна поменять у себя в программе...

Сделаешь это - проверь чтобы работало и переходи к следующую пункту.

2) А сумма у тебя в одном месте находится (и менять на произведение нужно тоже здесь):
Код:
sum += a[n][m];
По поводу произведения даю тебе предупреждение: нельзя его первоначально инициализировать как "ноль" (сумму можно, а произведение нет. Подумай почему.). Подумай чем его инициализировать:
Код:
int sum = 0;

Последний раз редактировалось ura_111; 05.01.2017 в 20:44.
ura_111 вне форума Ответить с цитированием
Старый 06.01.2017, 21:46   #3
EnJoYs
 
Регистрация: 05.01.2017
Сообщений: 4
По умолчанию

Большое, огромное человеческое спасибо !
EnJoYs вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дана матрица A (6,6) в каждой строке матрицы определить произведения элементов, чья величина 1< A(I,J)<5. Enerdgazer Помощь студентам 1 27.04.2014 13:49
Вычислить и запомнить в массивах P(n) и K(n) произведения и количество положительных элементов строк матрицы D(n,m) (кубэйсик) Lika_ Помощь студентам 1 21.10.2012 13:33
Вычисление сумм элементов матрицы А размера n x n, лежащих выше, ниже и на главной диагонали Tomoa Microsoft Office Word 8 04.04.2010 20:18
Найти отношения суммы элементов главной диагонали и суммы элементов побочной диагонали квадратной матрицы Elmander Помощь студентам 2 21.06.2007 07:15