Deo zbornika Učimo algoritme

Vežbe sa matricama

Zadaci sa matricama. Rešenja su data u raznim programskim jezicima.

Zbir glavne dijagonale

Trag matrice je zbir elemenata na glavnoj dijagonali. Data je kvadratna matrica dimenzija n × n. Izračunaj njen trag.

#include <stdio.h>

int matrica[3][3] = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};

main() {
  int i, sum = 0;
  for (i = 0; i < 3; i++) {
      sum += matrica[i][i];
  }
  printf ("Zbir elemenata na glavnoj dijagonali je %d\n", sum);
}

Najveći član glavne dijagonale

Pronađi indeks najvećeg elementa na glavnoj dijagonali kvadratne matrice dimenzija n × n.

const matrica = [
  [1, 3, 6, 14],
  [2, 6, 2, 12],
  [7, 1, 2, 72],
  [9, 1, 2, 71]
]
let maxI = 0

for(let i = 0; i < matrica.length; i++) {
  if (matrica[maxI][maxI] < matrica[i][i])
    maxI = i
}

console.log('Najveci clan na glavnog dijagonali je broj ' + matrica[maxI][maxI] + ' na indeksu ' + maxI)

Aritmetička sredina sporedne dijagonale

Izračunaj aritmetičku sredinu elemenata na sporednoj dijagonali date kvadratne matrice.

const matrica = [
  [1, 2, 12, 4],
  [3, 9, 11, 8],
  [7, 10, 2, 5],
  [1, 6, 14, 3]
]
const n = matrica.length
let suma = 0

for(let i = 0; i < n; i++)
  suma += matrica[i][n - i - 1]

console.log('Aritmetička sredina sporedne dijagonale je ' + suma / n)

Zbir članova iznad glavne dijagonale

Za datu numeričku kvadratnu matricu, izračunaj zbir svih članova iznad glavne dijagonale, uključujući i one na njoj.

const matrica = [
  [1, 2, 12, 4],
  [3, 9, 11, 8],
  [7, 10, 2, 5],
  [1, 6, 14, 3]
]

const n = matrica.length
let suma = 0

for (let i=0; i<n; i++) {
  for (let j=i; j<n; j++) {
    suma += matrica[i][j]
  }
}
console.log(suma)

Literatura

  • M. Škarić, V. Radović, Uvod u programiranje - Zbirka zadataka iz programskog jezika C, Beograd, 2009.