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

Сумма элементов матрици на главной диагонали - C++

Восстановить пароль Регистрация
 
Olga1212
 Аватар для Olga1212
1 / 1 / 0
Регистрация: 18.11.2012
Сообщений: 56
12.01.2014, 21:43     Сумма элементов матрици на главной диагонали #1
Задание:Создать класс для представления и обработки данных.Выполнить обработку элементов прямоугольной матрицы размера m * n, найти сумму элементов матрицы по главной диагонали.(С++)
Код должен быть примерно такой(только это другое задание,найти номер рядка и столбика с наибольшей сумой элементов)
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#include <iostream>
#include <numeric>
using namespace std;
 
class Matrix
{
    private:
        int **Matr;
        int m;
        int n;
 
        void Create()
        {
            Matr = new  int*[m];
            for (int z=0; z<m; z++)
                Matr[z] = new int[n];
        }
 
    public:
        // constructors and destructor
        Matrix(): m(), n() { Create(); }
        Matrix(int i): m(i), n(i) { Create(); }
        Matrix( int i, int j): m(i), n(j) { Create(); }
        ~Matrix()
        {
            for (int z=0; z<m; z++)
                delete[] Matr[z];
            delete[] Matr;
        }
 
        // methods
        int& Element(int i, int j)
        {
            if (i<m && j<n)
                return Matr[i][j];
            else
                cout << "Error: 1";
        }
 
 
        void Display()
        {
            for(int i=0; i<m; i++)
            {
                for(int j=0; j<n; j++)
                {
                    cout.width(4);
                    cout << Matr[i][j];
                }
                cout << endl;
            }
        }
        
        void Search()
        {
            int i;
            int j;
            int sum[m];
            int max1;
            int max2;
            int index;
            int index2;
            
            for (i = 0; i < n; i++)
            {
                sum[i] = 0;
                   for (j = 0; j <m; j++)
                        sum[i]+= abs(Matr[j][i]);
                cout <<"\n"<<i<<" Stolbec: "<<sum[i] << endl;
                max1=sum[0];
                index=0;
                if(sum[i]>max1&&i>index){
                    max1 = sum[i];
                    index=i;
                }
            }
            for(j=0; j<m; j++){
                max2=sum[0];
                sum[j] = 0;
                   for (i = 0; i <n; i++)
                        sum[j]+= abs(Matr[i][j]);
                cout <<"\n"<<j<<" Stroka: "<<sum[j] << endl;
                max2=sum[0];
                index2=0;
                if(sum[j]>max2&&j>index2){
                    max2 = sum[j];
                    index2=j;
                }
            }
                cout<<"\n"<<"Stolbec s naibol'shey summoi elementov po moduly:  "<<max1<<endl;
                cout<<"Index etogo stolbca: "<<index<<endl;
                cout<<"\n"<<"Stroka s naibol'shey summoi elementov po moduly: "<<max2<<endl;
                cout<<"Index etoi stroki: "<<index2<<endl;
                
                
        }
};
 
 
int main()
{
    int m;
    int n;
    cout<<"Enter n:";
    cin>>n;
    cout<<"Enter m:";
    cin>>m;
    Matrix M(n,m);
 
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<m; j++)
            M.Element(i, j) = i+j;
    }
 
    M.Display();
    M.Search();
 
    return 0;
}
Помогите пожалуйста написать код,очень надо и не к кому обратиться за помощью(!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2014, 21:43     Сумма элементов матрици на главной диагонали
Посмотрите здесь:

Сумма элементов главной диагонали квадратной матрицы C++
Сумма элементов главной диагонали массива C++
Сумма элементов в матрице, выше главной диагонали. C++
C++ Сумма элементов главной диагонали
Сумма элементов главной диагонали матрицы C++
Сумма элементов главной и побочной диагонали матрицы C++
Определить: сумма элементов выше главной диагонали меньше суммы элементов ниже главной диагонали? C++
Сумма элементов выше главной диагонали C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
12.01.2014, 23:29     Сумма элементов матрици на главной диагонали #2
Olga1212,
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include "stdafx.h"
#include <iostream>
#include <iomanip>
using namespace std;
 
class Matrix
{
    int N;
    int M;
    int **array;
public:
     Matrix(int _n, int _m);
     Matrix();
     ~Matrix();
     void Input();
     void ShowDisplay();
     int Suma();
 
};
 
Matrix::Matrix(int _n, int _m)
{
    N = _n;
    M = _m;
    array = new int *[N];
    for (int i = 0; i < N; i++)
        array[i] = new int [M];
}
 
Matrix::Matrix()
{
 
    array = new int *[3];
    for (int i = 0; i < N; i++)
        array[i] = new int [3];
}
 
Matrix::~Matrix()
{
    for (int i = 0; i < N; i++)
        delete [] array[i];
    delete [] array;
}
 
void Matrix::Input()
{
    cout << "Введите элементы массива: \n";
    for (int i = 0; i < N; i++)
        for (int j = 0; j < M; j++)
            cin >> array[i][j];
}
 
void Matrix::ShowDisplay()
{
    cout << "Матрица: \n";
    for (int i = 0; i < N; i++,cout<<endl)
        for (int j = 0; j < M; j++)
            cout<<setw(5)<< array[i][j];
}
 
int Matrix::Suma()
{
    int suma = 0;
    for (int i = 0; i < N; i++)
        suma += array[i][i];
    return suma;
}
 
 
int main()
{
    setlocale(LC_ALL, "Russian");
    Matrix matrix(4, 4);
    matrix.Input();
    matrix.ShowDisplay();
 
    cout << "Сумма элементов главной диагонали = " << matrix.Suma();
 
    cin.get();
    cin.ignore();
}
Yandex
Объявления
12.01.2014, 23:29     Сумма элементов матрици на главной диагонали
Ответ Создать тему
Опции темы

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