Informatică, întrebare adresată de boieriudaniela, 8 ani în urmă

Se citeste o matrice a cu m linii si n coloane. Sa se afiseze:
a. Produsul elementelor prime aflate pe ultima coloana
b. Media aritmetica a valorilor strict pozitive aflate pe linii pare
c. Media aritmetica a valorilor aflate pe linii si coloane numere prime


boiustef: nu ai concretizat cum facem indexarea.. de la 0 sau de la 1
boiustef: am să iau de la 1

Răspunsuri la întrebare

Răspuns de boiustef
1

Răspuns:

Explicație:

#include <iostream>

using namespace std;

int m,n,i,j, t[100][100];

bool prim(int x)

{

   int p=1;

   if (x<0) x=-x;

   if (x<2) p=0;

   if (x>2)

   {

       if (x%2==0) p=0;

       else

       {

           for (int j=3; j*j<=x; ++j)

               if (x%j==0) p=0;

       }

   }

   return p;

}

int main()

{

   cout << "nr. de linii m= ", cin >> m;

   cout << "nr. de coloane n= "; cin >> n;

   cout << "introdu matricea: " << endl;

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

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

           cin >> t[i][j];

   int prod=1, existaprime=0;

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

   if (prim(t[i][n])) { existaprime=1; prod=prod*t[i][n]; }

   cout << "a) Produsul elementelor prime de pe ultima coloana este ";

   if (existaprime) cout  << prod;

   else cout << " nu exista prime...";

   cout << "\n";

   int sumapoz=0, nrpoz=0;

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

   {

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

           if (t[i][j]>0) {sumapoz+=t[i][j]; ++nrpoz;}

   }

   cout << "b) Media aritmetica a valorilor pozitive de pe linii pare:  ";

   if (nrpoz==0) cout << " nu exista pozitive...";

   else

   {

       float medpoz=(float)sumapoz/nrpoz;

       cout << medpoz;

   }

   cout << "\n";

   int suma=0, nr=0;

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

   {

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

       {

           if (prim(i) && prim(j)) { suma+=t[i][j]; ++nr; }

       }

   }

   cout << "c) Media aritmetica  a valorilor aflate pe linii si coloane numere prime: ";

   if (nr==0) cout << "nu exista...";

   else cout << 1.0*suma/nr;

}

Alte întrebări interesante