Problemă rezolvată matrice clasa a XI-a mate-info neintensiv

Enunț

Fiind dată o matrice a cu m linii și n coloane cu elemente numere întregi, scrieți un program care:

1. Determină media aritmetică a elementelor matricii;
2. Afișează numărul elementelor pozitive, numărul elementelor negative și numărul elementelor nule din matrice;
3. Tipărește elementele pare aflate pe linii impare și coloane divizibile cu 3.

Rezolvare

#include
using namespace std;


const int maxn = 101;
const int maxm = 101;


int main()
{
 int N, M, A[maxm][maxn];
 int nrElPoz = 0, nrElNeg = 0,
  nrElNule = 0, contor = 0,
  ma = 0;


 ifstream in(„fisier.in”);
 in >> N >> M;
 for (int i = 1; i <= N; ++i)
 {
  for (int j = 1; j <= M; ++j)
  {
   in >> A[i][j];


   // adunarea numerelor pt. calculul
   // mediei aritmetice:
   ma += A[i][j];


   // cele 4 contoare:
   if (A[i][j] == 0)
   {
    ++nrElNule;
   }
   else if (A[i][j] > 0)
   {
    ++nrElPoz;
   }
   else // if (A[i][j] < 0)
   {
    ++nrElNeg;
   }


   if (A[i][j] % 2 == 0 && (i + 1) % 2 != 0 &&
    (j + 1) % 3 == 0)
   {
    ++contor;
   }
  }
 }
 ma /= N * M;
 in.close();


 ofstream out(„fisier.out”);
 out << "Media aritmetica: " << ma << endl;
 out << "Nr. elemente pozitive: " << nrElPoz << endl;
 out << "Nr. elemente nule: " << nrElNule << endl;
 out << "Nr. elemente negative: " << nrElNeg << endl;
 out << "Nr. elemente pare pe linii impare si coloane div. cu 3: " <<
  contor << endl;


 out.close();

 return 0;
}

Schemă

Notă: în unele locuri s-a referit la A[i][j] prin sintaxa A(i, j).

Explicații

Rezolvarea aceasta citește și scrie în fișier, nu pe ecran. Fișier de intrare: fisier.in, fișier de ieșire: fisier.out.

Cu excepția împărțirii sumei pentru aflarea mediei aritmetice, toate calculele se fac pe măsură ce se citește din fișierul de intrare.

Lasă un răspuns

Completează mai jos detaliile tale sau dă clic pe un icon pentru a te autentifica:

Logo WordPress.com

Comentezi folosind contul tău WordPress.com. Dezautentificare /  Schimbă )

Fotografie Google

Comentezi folosind contul tău Google. Dezautentificare /  Schimbă )

Poză Twitter

Comentezi folosind contul tău Twitter. Dezautentificare /  Schimbă )

Fotografie Facebook

Comentezi folosind contul tău Facebook. Dezautentificare /  Schimbă )

Conectare la %s

%d blogeri au apreciat: