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

#2949 medie_armonica pbinfo.ro


imi da 0 puncte chiar daca programul mi se pare ca e corect


I.

#include


using namespace std;


void solve(double x)

{

x=(int)(x*100);

x/=100;

cout<}


int main()

{

int n,i;

double num,f,x;


cin>>n;


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

cin>>x,num+=(1/x);


f=n/num;


solve(f);


return 0;

}


II.

#include


using namespace std;


template string tostr(const T& t)

{

ostringstream os;

os<
return os.str();

}


int main()

{

int n,i,j;

double num,f,x;


cin>>n;


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

cin>>x,num+=(1/x);


f=n/num;


string s=tostr(f);


char v[20];


strcpy(v,s.c_str());


int lg=strlen(v);


for(i=0; i
{

cout<
if(v[i]=='.')

break;

}


for(j=i+1;j<=i+2;j++)

cout<
return 0;

}

Ajutor pls .Multumesc!!!!
EDIT:Nu se afiseaza tot textul dar cred ca intelegeti!

Răspunsuri la întrebare

Răspuns de CinevaFaraNume
1

Trebuie rotunjit, nu aproximat prin scadere.

#include <iostream>

#include <iomanip>

using namespace std;

int main(){

int n,x;

   cin >> n;

   double s = 0;

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

    cin >> x;

       s += 1.0 / ((double) x);

   }

   cout << fixed << setprecision(2) << (((double) n) / s);

}


xmrkertesx: pl
xmrkertesx: pls*
CinevaFaraNume: De fapt pentru codul ala e [x*100]/100
xmrkertesx: mdaa ms
CinevaFaraNume: Cu placere
xmrkertesx: dar totusi exemplul ala de pe pbinfo era gresit smr :}
xmrkertesx: btw functia solve este o functie care afiseaza numarul cu primele 2 zecimale ale numarului
CinevaFaraNume: #include
using namespace std;
int main()
{
06.
double n,x,s=0;
07.
cin>>n;
08.
for(int i=1;i<=n;i++)
09.
{
10.
cin>>x;
11.
s+=1/x;
12.
}
13.
s=n/s;
14.
cout<15.
}
CinevaFaraNume: #include
using namespace std;
int main()
{
double n,x,s=0;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>x;
s+=1/x;
}
s=n/s;
cout<}
Solutia oficiala
CinevaFaraNume: #include <bits/stdc++.h>
using namespace std;
int main()
{
double n,x,s=0;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>x;
s+=1/x;
}
s=n/s;
cout<< fixed << setprecision(2) << s;
}
Răspuns de uleiaalex
3

Primeste 100 pct, este la fel ca cea postata doar altfel putin identata. Sper ca te-am ajutat.

Răspuns:

#include <iostream>

using namespace std;

int main(){

int n;double s=0;

cin >> n;

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

{

               double nrWrite=0;

  cin >> nrWrite;

s += 1/nrWrite;

}

       double formula = (double)n/(double)s;

cout<<(int)(formula)<<"."<<(int)(((formula)-((int)(formula)))*100);

}


xmrkertesx: mda practic ai afisat parea intreaga si primele doua zecimale ca sa nu mai incluzi iomanip
uleiaalex: ThumbUp
xmrkertesx: Ms ;)
Alte întrebări interesante