Hirdetés

Új hozzászólás Aktív témák

  • Jester01
    veterán

    Üdv! valaki esetleg lat valami hibát benne? mert én sajnos nem, de számolni meg rosszul számol:

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

    int main()
    {
    int i;
    int x,n;
    int fent=1.0,lent=1.0,arcsin=0.0;
    printf("zadaj pocet ciklu \n");
    scanf("%d", &n);
    printf("zadaj x :\n");
    scanf("%d", &x);
    for (i=1;i<=n;++i){
    fent=factorial(2*n)*power(x,2*n+1);
    lent=power(2,2*n)*factorial(n)*factorial(n)*(2*n+1);
    arcsin=arcsin+fent/lent;
    }
    printf("Vys %f",arcsin+x);
    return 0;
    }

    int power(int x, int n)
    {
    int i;
    double pow=1.0;
    if (n>=1){
    for (i=1;i<=n;++i)
    pow=pow*x;
    }
    else if (n<0) {
    for(i=-1;i>n;--i)
    pow=pow/x;
    }
    else if(n==0)
    pow=1;
    return pow;
    }

    int factorial( int n )
    {
    int j;
    double fact=1.0;

    for( j=1; j<=n;++j )
    fact = fact * j;

    return fact;
    }

    Az egy dolog, hogy a mi tanácsainkat elengedted a füled mellett, de sajnos a fordító figyelmeztető üzeneteit is (vagy be sem kapcsoltad őket).

    1. össze-vissza kevered az egész illetve lebegőpontos típusokat
    2. a faktoriális igen hamar igen nagy lesz
    3. a ciklusban a változód neked i nem n mint az eredeti képletben
    4. a hívott függvény vagy legyen előbb a kódban vagy legyen hozzá prototípus
    5. ebben a formában borzalmasan lassú lesz
    6. a nyelvek keveréséért azonnali főbelövés jár már két nyelv esetén is, de neked sikerült hármat is ...
    7. folyamatosan kérjük, hogy ha már segítségért folyamodik valaki, akkor tiszteljen meg bennünket olvasható kóddal (indentáció és a Programkód gomb használata)

Új hozzászólás Aktív témák