» »

En C++ programček ki mi povzroča težave

En C++ programček ki mi povzroča težave

Muflon1 ::

Prosil bi če bi mi nekdo povedal kaj moram pri temle programu spremeniti da mi bo delal tako kot je treba.

// Program ki izracuna vsoto naslednje vrste S=1-1/2+1/3-1/4+1/5...
//na d decimalnih mest natancno

#include *iomanip.h*

void main()
{
float vsota=0;
float vsota1=0;
float vsota2=0;
int n;
int d;
int st=0;
cout<<"Vnesi stevilo clenov:";
cin>>n;
cout<<"Vnesi na koliko decimalk natancno zelis rezultat:";
cin>>d;

for (float stevec=1; stevec<=n; stevec++)
{st++;
if (0==st/2)
vsota1+=(1/stevec);
else if (0!=st/2)
vsota2+= (1/stevec);
}

vsota=vsota1-vsota2;

cout*"Vsota je:"*setprecision(d)*setiosflags(ios::fixed|ios::showpoint)*vsota*endl;

}
  • spremenilo: Muflon1 ()

napsy ::

Opozoril bi te, da je tip float zelo nevarno uporabljati pr zanki for ali nasploh za števce, ker se ne ve, kaj je naslednjik.
"If you die, you die. But when you live you live. There is no time to waste."

Zgodovina sprememb…

  • spremenil: napsy ()

Imortales ::

Napaka je v if stavku. Namesto deljenja moraš uporabiti ostanek pri deljenju. Nekaj takega:

vsota = 1;
for (int i = 0; i < N; i++)
{
if (i%2 == 0) //ostanek pri deljenju z 2
vsota -= 1.0f/(float)i; //ostanek == 0 => sodo število
else
vsota += 1.0f/(float)i; //ostanek != 0 => liho število
}
To sporočilo se bo samo uničilo čez 5 sekund.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Python - pomoč!

Oddelek: Programiranje
71254 (1090) lknix

[C#]Length

Oddelek: Programiranje
6780 (676) Ziga Dolhar
»

[Naloga][C++] vsota vrste

Oddelek: Programiranje
71977 (1817) bozjak
»

[C++][Naloga_polja]MIN in MAX polja, izpis za x.100 stevil

Oddelek: Programiranje
222962 (2773) snow
»

[java] Amortizacija

Oddelek: Programiranje
481881 (1325) mindstyle

Več podobnih tem