Forum » Programiranje » En C++ programček ki mi povzroča težave
En C++ programček ki mi povzroča težave
![](https://static.slo-tech.com/stili/avatar_gray.gif)
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;
}
// 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 ()
![](https://static.slo-tech.com/stili/avatar_gray.gif)
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 ()
![](https://static.slo-tech.com/stili/avatar_gray.gif)
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
}
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 ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Python - pomoč!Oddelek: Programiranje | 1254 (1090) | lknix |
⊘ | [C#]LengthOddelek: Programiranje | 780 (676) | Ziga Dolhar |
» | [Naloga][C++] vsota vrsteOddelek: Programiranje | 1977 (1817) | bozjak |
» | [C++][Naloga_polja]MIN in MAX polja, izpis za x.100 stevilOddelek: Programiranje | 2962 (2773) | snow |
» | [java] AmortizacijaOddelek: Programiranje | 1881 (1325) | mindstyle |