Qoy — sıfır indeksli verilmiş ikihəcmli massiv olsun. Element aiddir:
əsas diaqonala, əgər i = j;
yan diaqonala, əgər i + j = n - 1.
Nümunə
Göstərilmiş nümunəni nəzərdən keçirək.
Əsas diaqonaldakı ədədlərin cəmi 1 + 6 + 5 + 3 = 15-ə bərabərdir.
Yan diaqonaldakı ədədlərin cəmi 8 + 2 + 7 + 4 = 21-ə bərabərdir.
Alqoritminin həyata keçirilməsi
Giriş məlumatlarını oxuyuruq. Matrisa elementlərini müəyyən edilən şəkildə emal edirik, əvvəlcədən ikihəcmli massiv yaratmadan.
scanf("%d",&n);
a = b = 0;
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
{
scanf("%d",&val);dəyişənində əsas diaqonal elementlərinin cəmini hesablayırıq.
dəyişənində yan diaqonal elementlərinin cəmini hesablayırıq.
if (i == j) a += val;
if (i + j == n - 1) b += val;
}Cavabı çıxarırıq.
printf("%d %d\n",a,b);Alqoritminin həyata keçirilməsi — ikihəcmli massiv
İkihəcmli massiv elan edirik.
int m[510][510];Giriş məlumatlarını oxuyuruq.
scanf("%d", &n);
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
scanf("%d", &m[i][j]);dəyişənində əsas diaqonal elementlərinin cəmini hesablayırıq.
dəyişənində yan diaqonal elementlərinin cəmini hesablayırıq.
a = b = 0;Bütün ikihəcmli massiv elementlərini nəzərdən keçiririk.
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{Element əsas diaqonal üzərindədir, əgər i = j.
if (i == j) a += m[i][j];Element yan diaqonal üzərindədir, əgər i + j = n - 1.
if (i + j == n - 1) b += m[i][j];
}Cavabı çıxarırıq.
printf("%d %d\n", a, b);Java həyata keçirilməsi
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
int n = con.nextInt();
int m[][] = new int[n][n];
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
m[i][j] = con.nextInt();
int a = 0, b = 0;
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
{
if (i == j) a += m[i][j];
if (i + j == n - 1) b += m[i][j];
}
System.out.println(a + " " + b);
con.close();
}
}Java həyata keçirilməsi — müəyyən edilən şəkildə
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
int n = con.nextInt();
int a = 0, b = 0;
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
{
int val = con.nextInt();
if (i == j) a += val;
if (i + j == n - 1) b += val;
}
System.out.println(a + " " + b);
con.close();
}
}Python həyata keçirilməsi
Giriş məlumatlarını oxuyuruq.
n = int(input())
m = [list(map(int, input().split())) for _ in range(n)]dəyişənində əsas diaqonal elementlərinin cəmini hesablayırıq.
dəyişənində yan diaqonal elementlərinin cəmini hesablayırıq.
a = b = 0Bütün ikihəcmli massiv elementlərini nəzərdən keçiririk.
for i in range(n):
for j in range(n):Element əsas diaqonal üzərindədir, əgər i = j.
if i == j: a += m[i][j]Element yan diaqonal üzərindədir, əgər i + j = n - 1.
if i + j == n - 1: b += m[i][j]Cavabı çıxarırıq.
print(a, b)Python həyata keçirilməsi — sıyahı yaratma
Giriş məlumatlarını oxuyuruq.
n = int(input())
m = [list(map(int, input().split())) for _ in range(n)]dəyişənində əsas diaqonal elementlərinin cəmini hesablayırıq.
dəyişənində yan diaqonal elementlərinin cəmini hesablayırıq.
a = sum(m[i][i] for i in range(n))
b = sum(m[i][n - 1 - i] for i in range(n))Cavabı çıxarırıq.
print(a, b)