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
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 ?
crescatoare
n=231325 se va afisa 122335
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;
}
}
}
Alte întrebări interesante
Chimie,
8 ani în urmă
Geografie,
8 ani în urmă
Engleza,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă