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

Дана матрица A(N, N) - C++

Восстановить пароль Регистрация
 
SelleR01
0 / 0 / 0
Регистрация: 23.12.2013
Сообщений: 35
27.12.2013, 18:31     Дана матрица A(N, N) #1
Помогите решить.
Дана матрица А(n,n). Найти сумму элементов, принадлижащих главной диоганали матрици, распределив ее на максимальный диогональный элемент.
Спасибо за рание
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2013, 18:31     Дана матрица A(N, N)
Посмотрите здесь:

C++ Дана матрица A[5,3].
C++ Дана матрица
Дана матрица C++
C++ Дана матрица B[N,M]
C++ Дана Матрица
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
metallix
 Аватар для metallix
10 / 10 / 3
Регистрация: 07.09.2013
Сообщений: 48
27.12.2013, 18:43     Дана матрица A(N, N) #2
распределив ее на максимальный диогональный элемент.
тоесть поделить суммы на максимальный элемент в диагонали?
Ev_Hyper
 Аватар для Ev_Hyper
1806 / 1627 / 435
Регистрация: 15.12.2013
Сообщений: 5,777
27.12.2013, 18:47     Дана матрица A(N, N) #3
Как-то вот так:
C++
1
2
3
4
5
6
for(int i=0;i<n;i++)
if(max<a[i][i])max=a[i][i];
double sum=0;
for(int j=0;j<n;j++)
sum+=a[j][j];
cout<<sum/max<<endl;
SelleR01
0 / 0 / 0
Регистрация: 23.12.2013
Сообщений: 35
27.12.2013, 18:48  [ТС]     Дана матрица A(N, N) #4
metallix, ДА
azbest
 Аватар для azbest
36 / 36 / 7
Регистрация: 12.03.2013
Сообщений: 141
27.12.2013, 18:48     Дана матрица A(N, N) #5
Если правильно полнял задание, то так
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>
#include<time.h>
#include<stdlib.h>
#include <iomanip>
#include <climits>
 
using namespace std;
 
int main()
{
    srand(time(NULL));
    int M=0;
    int sum=0, max = INT_MIN;
    cin >> M;
    int** A=new int* [M];
    for (int i=0; i<M;++i) {
        A[i]=new int[M];
        for (int j=0; j<M; ++j) {
            A[i][j] = rand()%100;
            cout << setw(4) << A[i][j];
            if (i == j) {
                    sum += A[i][j];
                    if (A[i][j] > max) max = A[i][j];
            }
 
        }
        cout << endl;
 
    }
    cout << endl << "sum = " << sum/double(max) << endl;
 
 
    for(int i = 0; i < M; i++) {
        delete [] A[i];
    }
    delete [] A;
 
    return 0;
}
metallix
 Аватар для metallix
10 / 10 / 3
Регистрация: 07.09.2013
Сообщений: 48
27.12.2013, 18:58     Дана матрица A(N, N) #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
#include <iostream>
#include <cstdlib>
 
using namespace std;
 
int main()
{
const int N=7;
 
int array[N][N];
int max=0;
double res,sum=0;
 
for(int i=0; i<N;i++)
    {
        for(int k=0; k<N;k++)
            {
                array[i][k]=rand()%10 ;
                cout<<array[i][k]<<" ";  
            }    
        cout<<"\n";
    }
    
for(int i=0; i<N;i++)
    {
        for(int k=0; k<N;k++)
            {
                if(i==k)
                    {   
                        sum+=array[i][k];
                            if(max<array[i][k])
                            max=array[i][k];
                    }
            }    
        cout<<"\n\n";
    }
  res=sum/max;  
cout<<"Summa: "<<sum<<endl<<"Max. value: "<<max<<endl<<"Sum/Max= "<<res;
 
system("pause>>nul");
return 0;
 
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.12.2013, 19:40     Дана матрица A(N, N)
Еще ссылки по теме:

дана матрица m x N C++
C++ Дана матрица m и n
Дана матрица(5,6) C++

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

Или воспользуйтесь поиском по форуму:
Lest52
0 / 0 / 1
Регистрация: 27.12.2013
Сообщений: 4
27.12.2013, 19:40     Дана матрица A(N, N) #7
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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream>
#include <time.h>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int **A = NULL, sum = 0, max;
    float smax;
    unsigned int n, i, j;
 
    srand(time(NULL));
    cout << "Введите размер матрицы: ";
    cin >> n;
    A = new int*[n];
    for(i = 0; i < n; i++) A[i] = new int[n];
    for(i = 0; i < n; i++)
        for(j = 0; j < n; j++)
            A[i][j] = rand()%100 - 50;
 
    for(i = 0; i < n; i++) {
        for(j = 0; j < n; j++)
                cout << ' ' << A[i][j];
        cout << endl;
    }
 
    max = A[0][0];
    for(i = 0; i < n; i++)
    {
        sum += A[i][i];
        if(A[i][i] > max) max = A[i][i];
    }
 
    smax = (float)sum / (float)max;
    cout << "\nМаксимальный элемент по диагонали: " << max << endl;
    cout << "Сумма, деленная на максимальный: " << smax << endl;
 
    for(i = 0; i < n; i ++)
        if(A[i] != NULL) {
            delete []A[i];
            A[i] = NULL;
        }
        if(A != NULL) {
            delete []A;
            A = NULL;
        }
        cin.get();
 
        return 0;
}
Yandex
Объявления
27.12.2013, 19:40     Дана матрица A(N, N)
Ответ Создать тему
Опции темы

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