[ FooLControL @ 24.02.2008. 21:26 ] @
Ima jedan problem,eadim neki zadatak sa otpornicima,imam da izracunam ekvivalentnu otpornost paralelno vezanih otpornika(1/Rekv=1/r1+1/r2+...1/rn)E sad ja sve to lepo saberem i program mi na ekranu ispisuje Rekv=inf
Ne znam u cemu je problem stavio sam za Rekv float i u printf-u stavio %.3f i on nece da mi izbaci rezultat.Ako neko moze da mi pomogne i objasni u cemu bi mogla biti greska...Hvala unapred
[ laki_srt @ 24.02.2008. 22:27 ] @
postavi svoj kod
[ FooLControL @ 25.02.2008. 10:03 ] @
Evo sada cu postaviti
[ FooLControL @ 25.02.2008. 10:04 ] @
Code:

#include <stdio.h>

main()
{
    unsigned n,i,o;
    float Rekv;
    char c;
    
    printf("\n\tProkram racuna ekvivalntnu otpornost n provodnika.\n\n");
    
    printf("\n\tUnesite koliko ima otpornika:");
    scanf("%d",&n);
    
    printf("\n\tOPCIJA:");
    printf("\n\tr-redna veza\n\n\tp-paralelna veza");
    
    printf("\n\n\tVas izbor je:");
    
    do{
        printf("\n\t       ");
        scanf("%c",&c);
        
    }while(c!='r'&&c!='R'&&c!='p'&&c!='P');
    
    printf("\n\tUnesite vrednost otpornika u omima:");
    
    switch(c)
        {
            case 'r': case 'R':
                Rekv=0;
                for(i=0;i<n;i++)
                    {
                        printf("\n\tR%d=",i+1);
                        do{
                            scanf("%d",&o);
                        }while(o<=0);
                        Rekv+=o;
                    }
            break;
            
            case 'p': case 'P':
                Rekv=0;
                for(i=0;i<n;i++)
                    {
                        printf("\n\tR%d=",i+1);
                        do{
                            scanf("%d",&o);
                        }while(o<=0);
                        Rekv+=1/o;
                    }
                Rekv=1/Rekv;
            break;
        }
        
    printf("\n\tRekv=%.3f",Rekv);
    
    printf("\n\n\n\n\n");
}
[ laki_srt @ 25.02.2008. 14:07 ] @
ja bih to uradio ovako:
Code:

 case 'p': case 'P': for(i=0;i<n;i++){
             printf("\n\tR%d=",i+1);
             scanf("%d",&o);
             if(i==0)
                 Rekv=o;
             else
                         Rekv=(Rekv*o)/(Rekv+o);
            }break;