Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #define PI 3.14159
- #define MAX 50
- int main()
- {
- double f=0;
- double Xc=0;
- double kondenzatory[MAX];//pole kondenzazatoru pro max 50 kondenzazatoru
- double kapacitance[MAX];//pole impedanci/admitanci ...nejak to pojmenuj jestli sem to pojmenoval spatne xD
- char x;
- int i;
- int pocet=0;
- printf("chcete pocitat impedanci nebo admitanci? (seriove zapojeni/paralelni zapojeni) 's'/'p'\n");
- scanf("%c",&x);
- fflush(stdin);
- if ((x=='p')^(x=='s')) // ^ = XOR (exclusive or) vysledek je true kdyz je PRAVE jedna podminka pravda..dalo by se normalne i OR ale timhle udelas mozna vetsi dojem :D
- {
- printf("kolik kondenzatoru chcete pocitat?\n");
- scanf("%d",&pocet);
- fflush(stdin);
- printf("zadejte frekvenci\n");
- scanf("%lf",&f);
- printf("zadavejte hodnoty jednotlivych kapacit:\n");
- for(i =0; i <pocet;i++)
- {
- printf("C%d: ",i);
- scanf("%lf",&kondenzatory[i]);
- }
- for(i=0;i<pocet; i++) //vypocteme jednotlive admitance
- {
- kapacitance[i]=2*PI*f*kondenzatory[i];
- }
- if (x=='s') // v pripade ze jde o seriove tak z nich udelame prevracenou hodnotu a mame impedance
- {
- for(i=0;i<pocet;i++)
- {
- kapacitance[i]=(1/kapacitance[i]);
- }
- }
- }
- else
- {
- printf("spatna volba\n");
- }
- for(i = 0; i < pocet; i++) //sectem admitance/impedance
- {
- Xc+=kapacitance[i];
- }
- if (x=='p')
- {
- printf("celkova admitance je: %lf\n",Xc); //a vypisem bud se slovem admitance
- }
- if(x=='s')
- {
- printf("celkova impedance je: %lf\n",Xc); //nebo impedance..jiank sou ty prinf uplne stejne
- }
- Xc=1/Xc;
- if (x=='s')
- {
- printf("pro kontrolu, celkova admitance by byla: %lf\n",Xc);
- }
- if (x=='p')
- {
- printf("pro kontrolu, celkova impedance by byla: %lf\n",Xc);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment