Forum » Programiranje » vsota vrste
vsota vrste
IronMan01 ::
Zdravo rabim pomoc, imam problem z naslednjim programom, napisati bi moral program, ki izračuna vsoto vrste na 5 decimalk natančno???
Splošni člen je 1/ n^2 - n ; n={2,3,4....}
Vem da moral k vsoti prištevati člene, ampak ne vem kako jih generirati, saj ni omejitve naprimer, da bi uporabnik vpisal neko število????
Lp
Splošni člen je 1/ n^2 - n ; n={2,3,4....}
Vem da moral k vsoti prištevati člene, ampak ne vem kako jih generirati, saj ni omejitve naprimer, da bi uporabnik vpisal neko število????
Lp
KaRkY ::
Koliko tu vidim nerabi uporabnik kaj vpisati saj je n naravno število. Ne razumem pa 5 decimalk natančno mogoče 5 členov vrste?
When you look long into an abyss, the abyss looks into you
PaX_MaN ::
Izračunati moraš tako vsoto vrste, da je razlika med vsoto vrste od 2 do (n + 1) členov in vsoto vrste členov od 2 do n manjša od 10^-6.
Se mi zdi.
Se mi zdi.
Utk ::
Ti povečuješ n, seštevaš člene, in ko se ti 5. decimalka več ne spreminja, si končal. Uporabnik nima kaj vnašat. Kdaj točno se ne spreminja več...hja, verjetno se bi dalo iz splošnega člena videt, samo meni se ne da. Lahko pa sprogramiraš in boš videl iz rezultatov programa.
tx-z ::
Js bi če bi zdle u tem trenutku mgou narest bi naredu tkole:
naredu bi funkcijo k ti vrne za določn n nek odgovor..pač enostavno
double funkcija(int n){
return (1/(((double)n*(double)n) - (double)n));
}
pol pa bi meu recmo
int i=0;
int double=0;
for(i=2; i < 9999; i++){
vsota = vsota + funkcija(i);
}
//vsota je potem rezultat
naredu bi funkcijo k ti vrne za določn n nek odgovor..pač enostavno
double funkcija(int n){
return (1/(((double)n*(double)n) - (double)n));
}
pol pa bi meu recmo
int i=0;
int double=0;
for(i=2; i < 9999; i++){
vsota = vsota + funkcija(i);
}
//vsota je potem rezultat
tx-z
Zgodovina sprememb…
- spremenilo: tx-z ()
Matek ::
Uporabnik zigam ti je napisal precej normalno resitev problema. Edina, sprememba, ki je glede na zahtevane pogoje potrebna, je sprotno preverjanje, ali je vrednost člena, ki ga prištevaš, dovolj majhna, da ne vpliva na peto decimalko. To lahko precej šolsko narediš z while zanko namesto tiste for zanke, pri preverjanju morda velja delati primerjavo z absolutno vrednostjo člena, če se slučajno predznak spreminja.
Bolje ispasti glup nego iz aviona.
PaX_MaN ::
Mislim, da v enačbi manjkata oklepaj ter zaklepaj:
1/(n^2 - n)
ker gredo n-ji od 2 naprej. To je, 1 je izpuščena, da ne pride do deljenja z 0, sicer bi v zgoraj napisani enačbi vse skupaj šlo v minus.
1/(n^2 - n)
ker gredo n-ji od 2 naprej. To je, 1 je izpuščena, da ne pride do deljenja z 0, sicer bi v zgoraj napisani enačbi vse skupaj šlo v minus.
IronMan01 ::
Zdaj vem za kaj se gre, ampak ne vem če lahko uporabim funkcije, ker jih še nismo jemali, kako vi to naredil brez klica funkcije??????????
tx-z ::
ja isto
int i=0;
double vsota=0;
for(i=2; i < 9999; i++){
vsota = vsota + (1/((double)(i*i)) - (double)i));
}
edit: ampak tle sm pač si zmislu da 9999x ponovi, to nima nč veze z uno natančnostjo, probi tist sam narest :P
int i=0;
double vsota=0;
for(i=2; i < 9999; i++){
vsota = vsota + (1/((double)(i*i)) - (double)i));
}
edit: ampak tle sm pač si zmislu da 9999x ponovi, to nima nč veze z uno natančnostjo, probi tist sam narest :P
tx-z
Zgodovina sprememb…
- spremenilo: tx-z ()
IronMan01 ::
Naredil sem takole, ampak zdaj mi izpise vsoto, kot neskoncno??
int i=2;
double vsota=0;
double staravsota=0;
do {
vsota=vsota + funkcija(i);
staravsota=vsota;
i+=i;
}while ((vsota - staravsota) < 0.000001);
Lp
int i=2;
double vsota=0;
double staravsota=0;
do {
vsota=vsota + funkcija(i);
staravsota=vsota;
i+=i;
}while ((vsota - staravsota) < 0.000001);
Lp
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [Naloga] Eulerjevo številoOddelek: Programiranje | 3106 (2458) | gani-med |
» | [algoritem] računanje vsoteOddelek: Programiranje | 2452 (2034) | vres.ales |
» | [Naloga][C++] vsota vrsteOddelek: Programiranje | 1965 (1805) | bozjak |
» | [C++][Naloga] največje in najmanjše vpisano številoOddelek: Programiranje | 2246 (2140) | @LOL |
» | Problemi pri C++ programiranju...Oddelek: Programiranje | 3911 (3386) | George |