Programiranje
Potrebna pomoc za rijesenje zadatka (C++)
Trivijalno, napravi for petlju od 0 do n-1, članovima prve dijagonale pristupaš putem arr[n*i+i], a članovima druge arr[(i+1)(n-1)], gdje je i varijabla po kojoj iteriraš, a n veličina kvadratne matrice. Pozbrojiš svaku u zasebnu varijablu, nakraju oduzmeš i izračunaš apsolutnu vrijednost.
Imam sljedeći zadatak:
S obzirom na kvadratnu matricu, izračunajte apsolutnu razliku između suma njegovih dijagonala.
npr. Ako imam matricu:
1 2 3
4 5 6
9 8 9
Ja bih trebao izračunati 1+5+9=15 ; 3+5+9=17 : Zatim apsolutnu vrijednost |15-17| = 2 : Konačni rezultat bi mi trebao biti dva.
Na ulazu bih trebao imati int n koji ce mi zapravo predstavljati broj redova i kolona u matrici.
Svaki od sljedećih n redaka opisuje redak, arr[i] i sastoji se od n cijeli brojevi odvojeni razmakom arr[i][j]
Polje mi neće biti veće od 100...
Problem je sto ne znam kako da implementiram kod koji ce mi ici kroz vektor, npr. ako imam n=3 ; da mi pocne od prvog broja u prvom redu, onda sljedeci red ali drugi broj po redu, a onda treci red, ali ovaj put zadnji broj.
Imam neku ideju da imam dvije varijable koje ce mi pamtiti lijevu i desnu stranu i uz pomoc toga da se pomicem kroz matricu, ali opet problem implementacija
Kod koji sam ja do sada napisao:
#include<iostream>
#include<vector>
#include<cmath>
usingnamespace std;
int kvadratnamatrica(vector<vector<int>> matrix, int n) {
//Ovdje bih trebao napisati kod zapravo koji ce mi prolaziti kroz vektor...
}
int main()
{
int n;
cin >> n;
vector<vector<int>> arr(n);
for (int i = 0; i < n; i++) {
arr[i].resize(n);
for (int j = 0; j < n; j++) {
cin >> arr[i][j];
}
}
int rezultat = kvadratnamatrica(arr,n);
cout << rezultat << "\n";
return0;
}