void Game_Actor::MakeExpList() { int final_level = Data::actors[data.ID - 1].final_level; exp_list.resize(final_level, 0);; for (int i = 1; i < final_level; ++i) { exp_list[i] = CalculateExp(i); } }
int main () { int x = 1; ClearFile(); int proc1; switch (fork()) { case 0: printf ("first fork()\n"); double exp = CalculateExp(-(pow(x, 2.0))/2, 180); printf ("exp = %f\n", exp); char text [40]; sprintf(text, "%d exp %f", getpid(), exp); WriteFile(text); exit (0); case -1: printf ("Error!!!!!! Close program!"); return -1; } int proc2; switch (fork()) { case 0: printf ("second fork()\n"); //double pi = CalculatePI (1000000000); double pi = CalculatePI (1000000000); printf ("pi = %f\n", pi); char text [40]; sprintf(text, "@%d pi %f", getpid(), pi); WriteFile(text); exit (0); case -1: printf ("Error!!!!!! Close program!"); return -1; } wait(&proc1); wait(&proc2); FILE* file = fopen("/home/codeserfer/Dropbox/Code_Blocks/HW-11/file", "r"); if (file == NULL) { printf ("Can't open file! file is %d\n", file); } while (1) { char buffer [1024]; size_t nread; rewind (file); if (nread = fread(buffer, 1, sizeof buffer, file) <= 0) { continue; } else { char* e = strchr (buffer, '@'); if (e == NULL) { continue; } else { int index = (int)(e - buffer); printf ("found!\n"); int pID1 = 0; int pID2 = 0; char fname1 [4]; char fname2 [4]; double result1 = 0; double result2 = 0; rewind (file); int fscanf_result = fscanf(file, "%d %s %lf@%d %s %lf", &pID1, fname1, &result1, &pID2, fname2, &result2); if (fscanf_result < 6) { printf ("Something went wrong...\n"); return 0; } //printf ("first: %d %s %lf \n", pID1, fname1, result1); //printf ("second: %d %s %lf \n", pID2, fname2, result2); double exp = 0, pi = 0; if (!strcmp (fname1, "exp")) { exp = result1; pi = result2; } else { exp = result2; pi = result1; } double final_result = exp/sqrt(2*pi); printf ("result: %lf\n", final_result); break; } } } printf ("Close program\n"); return 0; }
int main(void) { printf("%lf\n", CalculateExp()); return 0; }
void Game_Actor::MakeExpList() { exp_list.resize((size_t)GetMaxLevel()); for (int i = 1; i < (int)exp_list.size(); ++i) { exp_list[i] = CalculateExp(i); } }