- Информатика
- Нужно доделать подсчет массива
Нужно доделать подсчет массива над главной диагональю Нужно доделать подсчет в массиве 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;
}
Ошибка у тебя в подсчёте суммы, посчитать ее мы можем даже не используя 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;
}