Нужно доделать подсчет массива над главной диагональю

Нужно доделать подсчет в массиве 10х10 над главной диаганалью на C++

#include

#include

#include

using namespace std;

int main()

{

const int SIZE = 3;

const int R_MIN = -1;

const int R_MAX = 1;

int s = 0;


int arr[SIZE][SIZE];

int i, j;


srand(time(NULL));


for(i = 0; i < SIZE; ++i)

{

for(j = 0; j < SIZE; ++j)

{

arr[i][j] = rand()%(R_MAX-R_MIN+1) + R_MIN;

}

}

for (i = 0; i < SIZE; i++)

for (j = 0; j < SIZE; j++)

{

if (j == i+1)

s += arr[i][j];

}

// cout << s;

for(i = 0; i < SIZE; ++i) {

for(j = 0; j < SIZE; ++j)

{

cout<
}

cout<
}

printf("Summa = %d", s);

cout<
return 0;

}

Приложения:

restIess: Там в коде, кажется, что-то потерялось

Ответы

Ответ дал: restIess
1

Ошибка у тебя в подсчёте суммы, посчитать ее мы можем даже не используя if'а, просто с помощью двух циклов.

#include<iostream>

#include<ctime>

#define SIZE 10

#define R_MIN -1

#define R_MAX 1

using namespace std;

int main()

{

srand(time(NULL));  

int arr[SIZE][SIZE];

int s = 0;

for (int i = 0; i < SIZE; ++i)

 for (int j = 0; j < SIZE; ++j)

  arr[i][j] = rand() % (R_MAX - R_MIN + 1) + R_MIN;

 

for (int i = 0; i != SIZE; i++)

 for (int j = i + 1; j != SIZE; j++)

  s += arr[i][j];

for (int i = 0; i < SIZE; ++i) {

 for (int j = 0; j < SIZE; ++j)

 {

  cout << arr[i][j] << " ";

 }

 cout << endl;

}

cout << "Summa = " << s;

return 0;

}

Вас заинтересует