/* * uzivatelske funkce */ #include <stdio.h> #include <math.h> double a,b; double Aprum(double fp1, double fp2); // uplny funkcni prototyp double Gprum(double fp1, double fp2); // dava prekladaci informaci double Hprum(double fp1, double fp2); // o navratove hodnote funkce, void Prohod(double *fp1, double *fp2); // o poctu a typu parametru void Cara(char fp) { int i; static int delka = 25; // delka je staticka lokalni promenna for (i=1;i<=delka;i++) putchar(fp); // je umistena v DATOVE oblasti pameti putchar('\n'); delka += 2; } int main(void) { Cara('='); Cara('-'); Cara('-'); printf("zadej realne cislo a : "); scanf("%lf", &a); printf("zadej realne cislo b : "); scanf("%lf", &b); printf(" a = %9.6lf\n b = %9.6lf \n", a,b); printf("prohozeni promennych ...\n"); Prohod(&a,&b); printf(" a = %9.6lf\n b = %9.6lf \n", a,b); printf("aritmeticky prumer = %9.6lf\n", Aprum(a,b) ); printf("geometricky prumer = %9.6lf\n", Gprum(a,b) ); printf("harmonicky prumer = %9.6lf\n", Hprum(a,b) ); Cara('-'); Cara('-'); Cara('+'); return 0; } double Aprum(double fp1, double fp2) { return ((fp1+fp2)/2); } double Gprum(double fp1, double fp2) { return (sqrt(fp1*fp2)); } double Hprum(double fp1, double fp2) { return (1/(1/fp1+1/fp2)); } void Prohod(double *fp1, double *fp2) { double pom; pom=*fp1; *fp1=*fp2; *fp2=pom; }