Matrislərin Cəmi#9536

Matrislərin Cəmi (Həll təhlili)

Verilmiş və matrislərinə əsasən onların cəmi olan matrisini tapırıq, burada

С_{ij} = A_{ij} + B_{ij}

Alqoritmin reallaşdırılması

Matrislər və elan edirik.

#define MAX 101
int a[MAX][MAX], b[MAX][MAX], c[MAX][MAX];

Giriş məlumatlarını oxuyuruq — matrisləri və .

scanf("%d %d", &n, &m);
for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
  scanf("%d", &a[i][j]);

for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
  scanf("%d", &b[i][j]);

Matrislərin cəmini hesablayırıq: C = A + B.

for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
  c[i][j] = a[i][j] + b[i][j];

Nəticə matrisini çap edirik.

for (i = 0; i < n; i++)
{
  for (j = 0; j < m; j++)
    printf("%d ", c[i][j]);
  printf("\n");
}

Alqoritmin reallaşdırılması – ikili göstərici

Matrisləri , və ikili göstərici kimi elan edirik:

int **a, **b, **c;

Read funksiyası matrisi oxuyur.

void Read(int **&matr, int n, int m)
{
  matr = new int* [n];
  for (i = 0; i < n; i++)
  {
    matr[i] = new int[m];
    for (j = 0; j < m; j++)
      scanf("%d", &matr[i][j]);
  }
}

Sum funksiyası A + B matrislərinin cəmini hesablayır və onu matrisinə saxlayır.

void Sum(int **a, int **b, int **&c, int n, int m)
{
  c = new int* [n];
  for (i = 0; i < n; i++)
  {
    c[i] = new int[m];
    for (j = 0; j < m; j++)
       c[i][j] = a[i][j] + b[i][j];
  }
}

Print funksiyası matrisini çap edir.

void Print(int **a)
{
  for (i = 0; i < n; i++)
  {
    for (j = 0; j < m; j++)
      printf("%d ", a[i][j]);
    printf("\n");
  }
}

Proqramın əsas hissəsi. Matrislərin ölçülərini və oxuyuruq.

scanf("%d %d", &n, &m);

Matrisləri və oxuyuruq.

Read(a, n, m);
Read(b, n, m);

Matrislərin cəmini hesablayırıq: C = A + B.

Sum(a, b, c, n, m);

Nəticə matrisini çap edirik.

Print(c);