Diaqonallar#4751

Diaqonallar (Həll təhlili)

Qoy — sıfır indeksli verilmiş ikihəcmli massiv olsun. Element aiddir:

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 = 0

Bü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)