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

Дан массив A(n,n). Найти сумму всех его элементов, расположенных выше диагонали, противоположной главной - C++

Восстановить пароль Регистрация
 
gkslif
0 / 0 / 0
Регистрация: 03.02.2013
Сообщений: 15
11.02.2013, 17:10     Дан массив A(n,n). Найти сумму всех его элементов, расположенных выше диагонали, противоположной главной #1
Дан массив A(n,n). Найти сумму всех его элементов, расположенных выше диагонали, противоположной главной.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2013, 17:10     Дан массив A(n,n). Найти сумму всех его элементов, расположенных выше диагонали, противоположной главной
Посмотрите здесь:

Дан двухмерный массив.Найти сумму элементов побочной диагонали и сумму элементов главной диагонали C++
C++ [C++] Найти сумму модулей элементов, расположенных выше главной диагонали
Найти сумму элементов расположенных выше главной диагонали. C++
дан массив А (найти сумму всех его элементов, расположенных ниже главной диагонали) C++
C++ Массив. Найти сумму элементов, расположенных на главной диагонали
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
St-Voland
171 / 79 / 3
Регистрация: 05.12.2012
Сообщений: 217
11.02.2013, 17:35     Дан массив A(n,n). Найти сумму всех его элементов, расположенных выше диагонали, противоположной главной #2
Предположим, что диагональ противоположная главной - это вторая главная диагональ. Тогда все просто:
C++
1
2
3
4
5
6
7
8
yourType sum = 0;
for ( int i = 0; i < n; ++i )
{
     for ( int j = 0; j < n - i - 1; ++j )
     {
          sum += A[ i ][ j ];
     }
}
Вроде так. Для проверки достаточно подставить 2 конкретных значения для і и посмотреть, как меняются j в цикле и по факту.
gkslif
0 / 0 / 0
Регистрация: 03.02.2013
Сообщений: 15
11.02.2013, 18:47  [ТС]     Дан массив A(n,n). Найти сумму всех его элементов, расположенных выше диагонали, противоположной главной #3
Примерно так?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<iostream.h>
#include<math.h>
int main()
{
        int i,j,sum;
        int a[3][3];
        sum=0;
      
        for (i=0;i<3;++i)
     for (j=0;j<3-i-1;++j)
                {
                        cout<<"a["<<i<<"]["<<j<<"]=";
                        cin>>a[i][j];
                }
 for (i=0;i<3;++i)
     for (j=0;j<3-i-1;++j)
       
                    if (j>i) 
                    sum=sum+a[i][j];
        cout << sum;
        return 0;
}
anoise
2 / 2 / 0
Регистрация: 11.02.2013
Сообщений: 8
11.02.2013, 19:23     Дан массив A(n,n). Найти сумму всех его элементов, расположенных выше диагонали, противоположной главной #4
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>
 
using namespace std;
 
int sum(int **array, int size) // вычисляет сумму выше диагонали
{
int summa = 0, i=0, p=0, count = size ;
 
for (i=0; i < size; ++i)
{
    for (p = 0; p < count; ++p)
    {
        summa += array[i][p];
    }
    count--;
}
 
return summa;
 
}
 
int main()
{
int size = 0, i=0 , k=0, j=0, d=0;
 
cout<<"Enter N"<<endl; // вводим размер массива n
cin >> size;
    
int **A = new int*[size];
 
for(i=0; i<size; ++i)
{
    A[i]= new int[size]; //выделяем память для массива
}
 
for (k=0; k<size;++k)
{
    for(j=0; j<size; ++j)
    {
        A[k][j]=d; //забиваем значения в массив для проверки A[0][0]=0, A[0][1]=1 и тд
        d++;
    }
}
 
cout<<"Sum = "<<sum(A,size)<<endl; //вычисляем сумму и выводим результат
 
for (k=0; k<size;++k)
    delete [] A[k];
 
delete [] A; //освобождаем память
 
return 1;
}
gkslif
0 / 0 / 0
Регистрация: 03.02.2013
Сообщений: 15
11.02.2013, 19:30  [ТС]     Дан массив A(n,n). Найти сумму всех его элементов, расположенных выше диагонали, противоположной главной #5
Мой код неправильный?
anoise
2 / 2 / 0
Регистрация: 11.02.2013
Сообщений: 8
11.02.2013, 21:56     Дан массив 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
#include<iostream>
 
using namespace std;
 
int main()
{
int i,j,sum=0;
int a[3][3];
      
for (i=0;i<3;++i)
    for (j=0;j<3;++j)
     {
          cout<<"a["<<i<<"]["<<j<<"]=";
          cin>>a[i][j];
     }
 
 for (i=0;i<3;++i)
     for (j=0;j<3-i-1;++j)
          sum=sum+a[i][j];
    
        cout << sum;
        
        return 0;
}
Yandex
Объявления
11.02.2013, 21:56     Дан массив A(n,n). Найти сумму всех его элементов, расположенных выше диагонали, противоположной главной
Ответ Создать тему
Опции темы

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