#include #include double mocnina (double x, int N); double ztraty (int N, double Y); double absolutni (double cislo); long int faktorial (int i); double zatizeni (int N, double z); int main(int pocet, char *cislo[]) { int i,l,m; double j,k; float ztr; if(pocet>=9){ printf("Max 9 parametru"); return 1; } else{ printf("tady\n\n"); i=atoi(cislo[1]); for(l=2;l<=pocet-1 ; l++){ // pocet -1 pridal Ku printf("%s ",cislo[l]); // mezera ya s } printf("\n"); // kubalik for(l=1;l<=i;l++){ printf("tady2 \n" ); for(m=2;m<=pocet;m++){ ztr=atof(cislo[m]); printf("Pred yat \n" ); // Ku k=zatizeni(i,ztr); printf( "po yat \n " ); // Ku printf("%f\n",k); } printf("\n"); // kubalik } } } double zatizeni(int N, double z){ float levy,polovina,pravy; double pztr,apztr,odecet,g; levy=0; pravy=N; polovina=(levy+pravy)/2; odecet=z; while(odecet>0.001*z){ pztr= ztraty (polovina,N); g=z-pztr; if(g<0) pravy=polovina; else levy=polovina; apztr= absolutni (pztr); odecet=apztr-z; polovina=(levy+pravy)/2; } return polovina; } double ztraty (int N, double Y){ int i; double mocy,moci,faktn,fakti,vrsek,spodek,del,vysledek; mocy=mocnina (Y,N); faktn=faktorial (N); vrsek=mocy/faktn; spodek=1; //printf ("mocy %f \n faktn %f \n",mocy,faktn); for(i=1;i<=N;i++){ moci=mocnina(Y,i); fakti=faktorial(i); del=moci/fakti; spodek=spodek+del; //printf ("moci %f \n fakti %f \n del %f",moci,fakti,del); } vysledek=vrsek/spodek; //printf ("vrsek je %f \n spodek je %f \n",vrsek,spodek); return vysledek; } double mocnina (double x, int N){ double l,m; l=1; for(m=1;m<=N;m++){ l=l*x; } if(N==0)l=1; return l; } long int faktorial (int i) { long int j,k,l; k=1; for(j=1;j<=i;j++){ k=k*j; } if(i==0)k=0; return k; } double absolutni (double cislo) { if(cislo<0)cislo=cislo*(-1); return cislo; }