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

Определить сумму элементов матрицы, расположенных на главной диагонали - C++

Восстановить пароль Регистрация
 
Tinusha
 Аватар для Tinusha
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 23
18.01.2012, 12:41     Определить сумму элементов матрицы, расположенных на главной диагонали #1
Ввести статическую матрицу размером 4x4. Определить сумму элементов матрицы, расположенных на главной диагонали матрицы и произведение элементов, расположенных на побочной диагонали матрицы.

Пока только это написала:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream> 
 
using namespace std; 
 
int main() 
{ 
    int a[4][4],
    int sum = 0, i, n, j; 
 
 
 for (i = 0; i < n; i++) 
for (j = 0; j < m; j++) 
 if: (i == j)
 { 
   sum +=a[i,j]
 }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.01.2012, 12:41     Определить сумму элементов матрицы, расположенных на главной диагонали
Посмотрите здесь:

C++ Определить количество отрицательных элементов, расположенных вы-ше главной диагонали матрицы.
C++ ОПределить среднее геометрическое элементов, расположенных нп главной диагонали целочисленной матрицы R[6][6]
C++ [C++] Вычислить сумму и среднее значение элементов матрицы, расположенных на главной диагонали и ниже ее
C++ напишите пожалуйста решение. как найти сумму элементов матрицы расположенных по главной диагонали
Определить количество отрицательных элементов, расположенных выше главной диагонали матрицы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
co6ak
Кошковед
 Аватар для co6ak
403 / 496 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
18.01.2012, 12:45     Определить сумму элементов матрицы, расположенных на главной диагонали #2
еще, говорят, хорошо матрицу заполнять перед суммированием.
если статическая, тогда a[4][4] = {...};
coolplayer
2 / 2 / 0
Регистрация: 30.05.2011
Сообщений: 33
18.01.2012, 13:00     Определить сумму элементов матрицы, расположенных на главной диагонали #3
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
39
#include <iostream>
 
using namespace std;
 
int main()
{
    int a[4][4];
    int S=0;
    int i,j;
    
    for(i=1;i<=4;i++)
    {
    for(j=1;j<=4;j++)
    {
                    cin>>a[i][j]; 
                     }
}
 
 
  for(i=1;i<=4;i++)
    {
    for(j=1;j<=4;j++)
    {
                    cout<<a[i][j]<<" "; 
                     }
                     cout<<endl;
}
 
  for(i=1;i<=4;i++)
    {
    for(j=1;j<=4;j++)
    {
                    if(i==j) {S=S+a[i][j];} 
                     }
}
 
cout<<S<<endl;
 
}
Tinusha
 Аватар для Tinusha
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 23
18.01.2012, 13:03  [ТС]     Определить сумму элементов матрицы, расположенных на главной диагонали #4
А как найти произведение элементов расположенных на побочной диагонали?
coolplayer
2 / 2 / 0
Регистрация: 30.05.2011
Сообщений: 33
18.01.2012, 13:08     Определить сумму элементов матрицы, расположенных на главной диагонали #5
Цитата Сообщение от Tinusha Посмотреть сообщение
А как найти произведение элементов расположенных на побочной диагонали?
по аналогии. Хоть что то сами сделаете...
R136a1
 Аватар для R136a1
142 / 111 / 15
Регистрация: 14.04.2011
Сообщений: 261
18.01.2012, 13:22     Определить сумму элементов матрицы, расположенных на главной диагонали #6
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
#include <iomanip>
 
int sumOfMainDiagonal(const int [][4], int, int);
int productOfAdverseDiagonal(const int [][4], int, int, int);
 
int main()
{
    int matr[4][4];
 
    for(int i = 0; i < 4; i++)
        for(int j = 0; j < 4; j++)
        {
            std::cout << "matr[" << i << "][" << j << "]: ";
            std::cin >> matr[i][j];
        }
 
    std::cout << "Исходная матрица: " << std::endl;
 
    for(int i = 0; i < 4; i++)
    {
        for(int j = 0; j < 4; j++)
            std::cout << std::setw(5) << matr[i][j];
 
        std::cout << std::endl;
    }
 
    std::cout << "Сумма эл-ов на главной диагонали: "
                  << sumOfMainDiagonal(matr,0,3) 
                  << std::endl;
    
        std::cout << "Произведение эл-ов на побочной диагонали: "
                  << productOfAdverseDiagonal(matr,3,0,3) 
                  << std::endl;
 
    return 0;
}
 
int sumOfMainDiagonal(const int matr[][4], int step, int end)
{
    if(step == end)
        return matr[step][step];
    else
        return matr[step][step] + sumOfMainDiagonal(matr,step+1,end);
}
 
int productOfAdverseDiagonal(const int matr[][4], int row, int column, int step)
{
    if(!step)
        return matr[row][column];
    else
        return matr[row][column] * productOfAdverseDiagonal(matr,row-1,column+1,step-1);
}
Yandex
Объявления
18.01.2012, 13:22     Определить сумму элементов матрицы, расположенных на главной диагонали
Ответ Создать тему
Опции темы

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