👤

. Se dă matricea T[n][n] cu elemente numere întregi. Se consideră că cele două diagonale

împart matricea în patru zone: nord, sud, est, vest(elementele de pe diagonale nu fac parte din

nici o zonă). Să se compună un program care va număra elementele situate în zona nord. (C++)


Răspuns :

#include <iostream>

using namespace std;

int T[100][100], n, i, j;

int main ()

{

cin >> n;

for (i = 1; i <= n; i ++)

for (j = 1; j <= n; j ++) cin >> T[i][j];

/*daca n e impar nr de elemente Nord va fi 1+3+5+...+n-2; daca n e par nr de elemente Nord va fi: 2+4+...+n-2*/

/*sumele lui gauss:

1+2+3+...+n=n(n+1)/2

1+3+5+...+(2n-1)=n*n; */

/* 2+4+..+n-2=2(1+2+...+(n-2)/2)=n(n-2)/4

1+3+...+n-2=1+3+...+(2*(n-1)/2-1)=(n-1)*(n-1)/4; */

if (n%2 == 0) cout << n*(n-2)/4;

else cout << (n-1)*(n-1)/4;

}

*Nici nu e nevoie sa cunoastem ce elemente sunt in matrice

Puteam sa facem si altfel: din nr total de elem (n*n) scadeam nr de elem de pe diagonale (tot pe cazuri cu n par si n impar), iar rezultatul se impartea la 4

Vezi imaginea OILOVEYOUO
Vezi imaginea OILOVEYOUO

#include

using namespace std;

int main()

{

   int n;

   cout << "n="; cin >> n;

   int t[n][n], nr=0;

   for (int i=1; i<=n/2; i++)

   {

       nr=nr+(n-2*i);  

   }

   cout << nr;

}

i reprezinta numarul liniei in matrice si de aceea mergem de la linia 1 pana la linia n/2, adica liniile din jumatatea de sus a matricii

pe fiecare dintre aceste linii avem un anumit numar de elemente ale matricii, iar numarul este egal cu n (numarul tuturor elementelor de pe o linie) minus dublul numarului liniei la care suntem, fiindca pe prima linie avem 2 elemente marginale care nu fac parte din zona de nord, pe a doua linie avem 4 elemente marginale care nu fac parte si asa mai departe

Vezi imaginea ADRIANBUF18
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, nu ezitați să ne contactați. Ne bucurăm să vă revedem și vă invităm să ne adăugați în lista de favorite!


Ze Schools: Alte intrebari