#include #include int soucet( int a, int b, int c ); long double mocnina( long double to, int nato ); long double ztraty( int n, long double y ); long double absol( long double a ); long double faktorial( int n ); long double zatizeni( int n, long double z ); int main(int argc, char *p[]) { int moc, i, n, brambor, pocet_ztrat = argc - 2; long double z[argc - 2], y, cislo; //long long int m; n = atoi(p[1]); if (n <= 0) { puts("Nelze!"); return 1; } for (i = 2; i < argc; i++) { z[i - 2] = atof(p[i]); } //printf("n: %d, z[0]: %Lf\n", n, z[0]); for (brambor = 1; brambor <= n; brambor++) { printf(" %3d | ", brambor); for (i = 0; i < pocet_ztrat; i++) { y = zatizeni(brambor, z[i]); printf("%2.2Lf ", y); } putchar('\n'); } } int soucet(int a,int b,int c){ int x; x=a+b+c; return x; } long double absol(long double a) { if (a < 0) return a * (-1); return a; } long double mocnina(long double to,int nato) { if (nato == 0) return 1; if (nato == 1) return to; long double e=1; for (int d = 0; d < nato; d++) { e *= to; } return e; } long double faktorial(int n) { long double e = 1; for (int d = 1; d <= n; d++) { e *= (long double) d; } return e; } long double ztraty(int n,long double y) { int moc; long double cislo,yn,suma=0,z,yi, nfakt; //mocnina yn cislo=y; moc=n; yn=mocnina(cislo,moc); //nfakt nfakt=faktorial(n); //suma for(int i=0;i<=n;i++) { suma = suma + mocnina(y, i) / faktorial(i); } //ztraty z=(yn/nfakt)/suma; return z; } long double zatizeni(int brambor,long double z) { int i; long double leva = 0, prava = brambor, stred, z1; for (i=0;i<=20;i++) { stred=(leva+prava)/2; z1=ztraty(brambor,stred); if(z1