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

[Zadatak] Implementacija funkcije za stepenovanje

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Implementacija funkcije za stepenovanje

[ Pregleda: 4928 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Fidelito_Castro
Fidelito_Castro
Subotica

Član broj: 143557
Poruke: 87
*.eunet.yu.



Profil

icon [Zadatak] Implementacija funkcije za stepenovanje04.12.2007. u 03:06 - pre 198 meseci
Code:

....
double stepen(double osnova,int eksponent)//korisnicka funkcija stepen
{

    double y;

    y=1.0;
    int i;

    for(i=0;i<eksponent;i++)
        y=y*osnova;
    return y;

}
...


Zamolio bih nekoga za pomoc?

1)zasto je vrednost y inicijalizovana na jedan
2)nije mi jasan deo sa for petljom
Code:

for(i=0;i<eksponent;i++)
        y=y*x;


3)da li se moze napisati funkcija za stepenovanje na neki drugi nacin???
Unapred zahvalan !
 
Odgovor na temu

Fidelito_Castro
Fidelito_Castro
Subotica

Član broj: 143557
Poruke: 87
*.eunet.yu.



Profil

icon Re: [Zadatak] Implementacija funkcije za stepenovanje04.12.2007. u 03:35 - pre 198 meseci
Malo sam eksperimentisao i iskoristio sam pretprocesorsku direktivu<math.h> i preko nje iskoristio funkciju pow().
Evo koda:

Code:

...
double stepen(double osnova,int eksponent)//korisnicka funkcija stepen
{

    double y;

    y=pow(osnova,eksponent);

    return y;

}
...

Ja mislim da cim program radi,da moze i na ovaj nacin?
Ali ipak bih hteo da shvatim i prethodni deo koda za stepenovanje??????????
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4901
*.tekostolac.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: [Zadatak] Implementacija funkcije za stepenovanje04.12.2007. u 06:31 - pre 198 meseci
y=1.0; je tzv. inicijalna vrednost za množenje. Kada bi y bilo nula onda bi se u petlji sve množilo na nulom i rezultat bi ostao nula, a ne umnožak serije brojeva.

Code:

for(i=0;i<eksponent;i++)
   y=y*osnova;

...ovo već moraš da znaš sam da protumačiš.

Recimo:
osnova=2
eksponent=4

osnovaeksponent = 24 = 2*2*2*2 = 16

Dakle, ČETIRI PUTA (eksponent) preba pomnožiti DVOJKU (osnova). Gore je data petlja koja upravo to radi.

Donji primer, sa pow() naravno da radi, samo što to nije poenta primera, i sva je prilika da zadatak neće biti adekvatno vrednovan kod nastavnika. Uopšte nemaš potrebu da onda praviš funkciju za stepenovanje ako koristiš pow() jer ona je već funkcija.


[Ovu poruku je menjao X Files dana 04.12.2007. u 08:00 GMT+1]
 
Odgovor na temu

Fidelito_Castro
Fidelito_Castro
Subotica

Član broj: 143557
Poruke: 87
77.105.3.*



Profil

icon Re: [Zadatak] Implementacija funkcije za stepenovanje04.12.2007. u 08:40 - pre 198 meseci
Hvala prijatelju razumeo sam nesto!
Ali me i dalje buni ovaj deo?
Code:

for(i=0;i<eksponent;i++)


Znam da je to petlja ali nije mi jasno kako uspe eksponent da se doda na osnovu.Buni me promenljva i???
 
Odgovor na temu

idb
Ivan Bulic
Beograd

Član broj: 4436
Poruke: 402



Profil

icon Re: [Zadatak] Implementacija funkcije za stepenovanje04.12.2007. u 11:09 - pre 198 meseci
Code:
double stepen(double osnova,int eksponent)//korisnicka funkcija stepen
{
    double y;
    y = 1.0;
    int i;
    for(i=0;i<eksponent;i++){
        y=y*osnova;
        // UBACI OVAJ RED - i prati sta ti ispisuje - sve ce ti biti jasno
        printf("i=%d,  y=%f\n", i, y);
    }
    return y;
}
 
Odgovor na temu

Fidelito_Castro
Fidelito_Castro
Subotica

Član broj: 143557
Poruke: 87
*.eunet.yu.



Profil

icon Re: [Zadatak] Implementacija funkcije za stepenovanje05.12.2007. u 23:16 - pre 198 meseci
Hval ti Punoooo prijatelju!!!
Sve sam razumeo.
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: [Zadatak] Implementacija funkcije za stepenovanje

[ Pregleda: 4928 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

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