[ EmulatE @ 08.11.2012. 14:25 ] @
Treba mi pomoc. Moram da napravim funkciju koja za realno x i prirodan broj n racuna s=x+x na 2 + x na 3 + . . . + x na neki n i da koristim opciju return hvala u napred :)
[ djoka_l @ 08.11.2012. 14:30 ] @
Napiši dokle si stigao, pa da pomognemo tamo gde je zapelo.
[ X Files @ 08.11.2012. 19:15 ] @
Citat:
Treba mi pomoc.

Znamo ;)

Citat:
Moram da napravim funkciju koja za realno x i prirodan broj n racuna s=x+x na 2 + x na 3 + . . . + x na neki n i da koristim opciju return hvala u napred :)

Ovo znači da ti treba:
- funkcija za izračunavanje
- glavna funkcija, iz koje pozivaš tvoju funkciju:

Citat:
Moram da napravim funkciju koja za realno x i prirodan broj n racuna s=x+x na 2 + x na 3 + . . . + x na neki n i da koristim opciju return hvala u napred :)

Ovo znači da će funkcija imati dva argumenta, jedan realan a drugi celobrojan.

Citat:
Moram da napravim funkciju koja za realno x i prirodan broj n racuna s=x+x na 2 + x na 3 + . . . + x na neki n i da koristim opciju return hvala u napred :)

Ovo znači da je predviđeno da funkcija vratiti rezultat, koji će glavna funkcija po potrebi ispisati. Uvidom u formulu i račun, vidi se da tip rezultata mora biti realan.

Citat:
Moram da napravim funkciju koja za realno x i prirodan broj n racuna s=x+x na 2 + x na 3 + . . . + x na neki n i da koristim opciju return hvala u napred :)

Čim imaš sumu, trebaće ti nekakva inicijalna vrednost za sumu, a to je NULA. C jezik ne garantuje da će promenljivu inicijalizovati na nulu, pa to moraš sam uraditi. To je ono double suma=0.0;. Kod množenja, to je JEDINICA.

Citat:
Moram da napravim funkciju koja za realno x i prirodan broj n racuna s=x+x na 2 + x na 3 + . . . + x na neki n i da koristim opciju return hvala u napred :)

Broj ponavljanja je ograničen sa N, pa ti treba petlja, predlažem "for".

Citat:
Moram da napravim funkciju koja za realno x i prirodan broj n racuna s=x+x na 2 + x na 3 + . . . + x na neki n i da koristim opciju return hvala u napred :)

Čim imaš "nešto na nešto", trebaće ti bibliotečka funkcija "pow", a da bi nju koristio, trebaće ti "#include <math.h>"

Citat:
Moram da napravim funkciju koja za realno x i prirodan broj n racuna s=x+x na 2 + x na 3 + . . . + x na neki n i da koristim opciju return hvala u napred :)

Za prirodan broj N, biraš tip "int". Za realan broj N, biraš tip "float" ili "double".

Ako se opredeliš za "double" tada zapamti da uz njega ide nekakav format %lf. Za "float" bi išao format %f. Za "int" ide %d. Pogledaj u kodu.

Za sve ostalo, knjigu u šake, sve ovo je vrlo lako.

I poslušaj šta ti reče @djoka_l
"Napiši dokle si stigao, pa da pomognemo tamo gde je zapelo."
... jer ovakve zahteve praktično UVEK brišemo, bez komentara. Potrebno je da uložiš makar minimum sopstvenog truda. Ipak, pošto ti je prva poruka, pravimo izuzetak i dajemo šansu.

/* netestirano */
Code:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

double suma_x_na_n(double x, int n)
{
    int i;
    double suma=0.0;

    for (i=1; i<=n; i++)
        suma += pow(x, i);

    return (suma);
}

int main()
{
    double x;
    int n;

    printf("Unesite realno X=");
    scanf("%lf", &x);

    printf("Unesite celobrojno N=");
    scanf("%d", &n);

    printf("Suma X^N=%lf\n", suma_x_na_n(x,n));
    return 0;
}
[ EmulatE @ 08.11.2012. 19:41 ] @
Citat:
djoka_l:
Napiši dokle si stigao, pa da pomognemo tamo gde je zapelo.


Code:

#include<stdio.h>
#include<conio.h>
#include<math.h>
float s(float x,int n)
{
    int i;
    float s;
     for (i=1; i<=n; i++)
.......
    return s;
}
main()
{
      int n,x;
      printf("unesi x i n\n");
      scanf("%d",&n);
      scanf("%f",&x);
      printf("s=%f",s(n,x));
      getch();
      }

Evo nesto malo koda p.s. pocetnk sam ne zamerite ne znam ni da li je ovo dobro .
@X files hvala na odgovoru al imam neki mali problem evo ja sam editovao u float jer double nismo ucili

Code:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

float suma_x_na_n(float x, int n)
{
    int i;
    float suma=1;

    for (i=1; i<=n; i++)
        suma += pow(x, i);

    return (suma);
}

int main()
{
    float x;
    int n;

    printf("Unesite realno X=");
    scanf("%f", &x);

    printf("Unesite celobrojno N=");
    scanf("%d", &n);

    printf("Suma X^N=%f\n", suma_x_na_n(x,n));
    getch();
}

Nismo ucili double i trebalo bi da bude getch na kraju umesto return po skoli, editovao sam preko floata ali mi izbacuje neku gresku :)

[Ovu poruku je menjao EmulatE dana 08.11.2012. u 21:01 GMT+1]

[Ovu poruku je menjao X Files dana 08.11.2012. u 21:03 GMT+1]

[Ovu poruku je menjao EmulatE dana 08.11.2012. u 21:04 GMT+1]
[ djoka_l @ 08.11.2012. 20:00 ] @
Prvo, svoj programski kod stavljaj na forumu između tagova [ code ] i [/ code ] (ne trebaju blankovi, ali sam ih stavio da bih izbegao formatiranje.

Drugo, greška je što si stavio
Code:

suma=1;

umesto
Code:

suma=0;


EDIT: dok sam pisao odgvor ti si već promenio...
[ X Files @ 08.11.2012. 20:07 ] @
Ne, treba 0 umesto 1, kao što je djoka_l rekao.

Pokaži ceo kod i koja je greška u pitanju. Možda će trebati jedan "dodatak" između 2 uzastopna scanf-a, ali otom potom.

[ EmulatE @ 08.11.2012. 20:09 ] @
Code:
#include <stdio.h>
#include <math.h>
#include <conio.h>

float suma_x_na_n(float x, int n)
{
    int i;
    float suma=1;

    for (i=1; i<=n; i++)
        suma += pow(x, i);

    return (suma);
}

int main()
{
    float x;
    int n;

    printf("Unesite realno X=");
    scanf("%f", &x);

    printf("Unesite celobrojno N=");
    scanf("%d", &n);

    printf("Suma X^N=%f\n", suma_x_na_n(x,n));
    getch();
}

evo koda kad unesem x=2 n=2 on mi kaze resenje 7 a trebalo bi 6 to mi je ostalo od problema :)
[ X Files @ 08.11.2012. 20:13 ] @
To smo već rešili, treba NULA umesto JEDINICE, za inicijalnu vrednost sabiranja. Čitaj šta smo napisali :)

float suma=0.0;
[ EmulatE @ 08.11.2012. 20:15 ] @
izvinjavam se moja greska ali da pitam jel bih mogao da ubacim suma=0 opet dobijem tacno resenje :) zato sto ce profi biti sumljivo suma=0.0 :)
[ X Files @ 08.11.2012. 20:21 ] @
Može.

Pogledaj ovde malo detaljnije:
http://stackoverflow.com/quest...c-difference-between-0-and-0-0
[ EmulatE @ 08.11.2012. 20:22 ] @
Hvala puno mnogo ste mi pomogli :)
[ Xavi Maestro @ 11.11.2012. 11:53 ] @
Pozdrav, da li bi neko mogao da mi ovaj kod iz c++ prevede u c ?
Treba isto da ostane for petlja, ali da se uradi preko funkcija, bez cin i cout, jer to nismo ucili, ne bih znao da objasnim
Hvala vam unapred

#include<iostream>
using namespace std;
#include<cmath>
int main()
{
double x;
int n;
double s=0;
cout << "Enter the value of x : ";
cin >> x;
cout << "Enter the value of n : ";
cin >> n;
for(int i=1; i<=n; i++)
{
s+= pow(x,i);
}
cout << s << endl;

system("pause");
}
[ dalibor991 @ 16.11.2012. 20:00 ] @
Nisam radio u C++, C poznajem, gledajuci kod, sam mozes zakljuciti kako ovo ide u c-u
Code:

#include <stdio.h>
#include <math.h>

int main () {
double x, s=0;
int n,i;
printf ("Enter the value of x : "); 
scanf ("%lf", &x);
printf ("Enter the value of n : "); 
scanf ("%d", &n);    
for (i=1; i<=n; i++)
    {
    s += pow(x,i);
    }
printf ("\n%d", s);
}