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

Scrieți subprogramul medgeom care primeste prin intermediul a doi parametri a și n un tablou a cu n numere reale (1<=n<=100) și returnează media geometrică a elementelor strict pozitive.
Scrieți un program care citește de la tastatură un tablou cu n elemente reale și calculează media geometrică a elementelor strict pozitive utilizând subprogramul medgeom, iar apoi afișează rezultatul. Dacă șirul nu are elemente pozitive nenule se va afișa NU EXISTA

Răspunsuri la întrebare

Răspuns de dvd002
1

Răspuns:

#include <iostream>

#include <math.h>

using namespace std;

float medgeom(int n, float *a){

   float media_geometrica = 1;

   int nr_pozitive = 0;

   for(int i = 0; i < n; i++){

       if(a[i] > 0){

           nr_pozitive++;

           media_geometrica *= a[i];

       }

   }

   if(nr_pozitive == 0){

       return -1.0;

   }else{

       return pow(media_geometrica,1./nr_pozitive);

   }

}

int main()

{

  int n;

  float a[100];

  cin >> n;

  for(int i = 0; i < n; i++){

      cin >> a[i];

  }

  float media = medgeom(n,a);

  if(media == -1){

      cout << "NU EXISTA";

  }else{

      cout << media;

  }

}

Explicație:


stefi1484: Ma poți ajuta te rog și la prob asta ?
stefi1484: Se citeste un numar n natural de maxim 9 cifre. Sa se afiseze toate cifrele numarului in ordine
crescatoare
n=231325 se va afisa 122335
dvd002: #include

using namespace std;

int vecAp[10];

int main()
{
unsigned int n;
cin >> n;
while(n != 0){
vecAp[n%10]++;
n/=10;
}
for(int i = 0; i <= 9; i++){
while(vecAp[i] != 0){
vecAp[i]--;
cout << i;
}
}
}
dvd002: Scuze n am avut timp sa mai intru pe brainly.
Alte întrebări interesante