Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

[Zadatak] Program koji računa sin(x) koristeći Taylorov red

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Program koji računa sin(x) koristeći Taylorov red

[ Pregleda: 2366 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

toncek666
ZG

Član broj: 103401
Poruke: 2
*.adsl.net.t-com.hr.



Profil

icon [Zadatak] Program koji računa sin(x) koristeći Taylorov red16.05.2007. u 22:35 - pre 206 meseci
Pozdrav ljudi !

Trebam pomoć oko rješavanja zadatka koji glasi :

"Program koji računa sin(x). Ulazni parametri su X i broj iteracija algoritma.
Program izraditi koristeći Taylorov red."

Imam nešto rješeno ali ne radi kako treba.
Jel može pomoć ?

Kod:

#include <iostream>
using namespace std;

int main(){
int x,iter;
float i,j,fakt=1,racx=1,brojac=1,predznak=1;
float sin;

cout<<"Upisi broj x: "; cin>>x;
cout<<"Upisi iteraciju broja: "; cin>>iter;

racx=x;
iter--;
sin=x;
for (i=0;i<iter;i++){
predznak*=-1;
racx*=x*x;

brojac+=2;
for (j=1;j<=brojac;j++){
fakt*=j;

}
sin+=predznak*racx/fakt;
fakt=1;
}


cout<<endl<<"Rjesenje je: "<<sin<<endl;

system("PAUSE");
return 0;
}


Unaprijed hvala!
 
Odgovor na temu

idb
Ivan Bulic
Beograd

Član broj: 4436
Poruke: 402



Profil

icon Re: [Zadatak] Program koji računa sin(x) koristeći Taylorov red17.05.2007. u 15:31 - pre 206 meseci
Molim te da program uvbacijes izmedju code tagova, jer je ovako mucenje da se procita...
Ne znam gde ti je greska - stvarno ne mogu ono da procitam, ali evo nesto sto radi.
Code:
#include <cstdlib>
#include <iostream>

using namespace std;
 
int main(int argc, char *argv[]){
    // Izracunaj: sin(x) = x - x^2/3! + x^5/5! - x^7/7! + ...
    // test vrednosti:
    double  x     = 30.0/57.295779513082323, // 1 RADIAN = 57.295779513082323 
            x2    = x*x,
            tmp   = x,
            sinus = x,
            b;
    int iter(20), i(1);
    while (i++<iter){
        b      = (2*i-2)*(2*i-1);
        tmp   *= -x2 / b;
        sinus += tmp;
    }
    cout.precision(16);
    cout<<"sin("<<x<<") = "<< sinus <<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}

dobices rezultat:
sin(0.5235987755982988) = 0.4999999999999999

pozdrav idb
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Program koji računa sin(x) koristeći Taylorov red

[ Pregleda: 2366 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.