Advertisement
Guest User

Untitled

a guest
Nov 18th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.25 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define ccout if(1) cout
  4. fstream f,w;
  5. string a,b;
  6. double odp,total[4],suma,wyn;
  7. int x,n,N=100,X;
  8. int main(){
  9.   system("make ./pis");
  10.   suma=0;
  11.   total[0]=0;
  12.   total[1]=0;
  13.   total[2]=0;
  14.   total[3]=0;
  15.   n=100;
  16.   for(int k=0;k<N;k++){
  17.     odp=0,x=0,X=0;
  18.     system("python3 pistestgen.py 1 test ./");
  19.     system("./pis < test.in > odp.out");
  20.     f.open("test.out",ios::in);
  21.     w.open("odp.out",ios::in);
  22.     for(int i=0;i<n;i++){
  23.       ccout<<i+1<<": ";
  24.       getline(w,a);
  25.       getline(f,b);
  26.       if(a=="XXX"){
  27.         X++;
  28.         ccout<<"X\n";
  29.       }
  30.       else if(a==b){
  31.         ccout<<"OK\n";
  32.         x++;
  33.       }
  34.       else;
  35.         ccout<<"ANS\n";
  36.     }
  37.     odp=100*x/(n-X);
  38.     cout<<odp<<"%\n";
  39.     f.close();
  40.     w.close();
  41.     total[0]+=odp;
  42.   }
  43.   total[0]=total[0]/N;
  44.   n=1000;
  45.   for(int k=0;k<N;k++){
  46.     odp=0,x=0,X=0;
  47.     system("python3 pistestgen.py 2 test ./");
  48.     system("./pis < test.in > odp.out");
  49.     f.open("test.out",ios::in);
  50.     w.open("odp.out",ios::in);
  51.     for(int i=0;i<n;i++){
  52.       ccout<<i+1<<": ";
  53.       getline(w,a);
  54.       getline(f,b);
  55.       if(a=="XXX"){
  56.         X++;
  57.         ccout<<"X\n";
  58.       }
  59.       else if(a==b){
  60.         ccout<<"OK\n";
  61.         x++;
  62.       }
  63.       else
  64.         ccout<<"ANS\n";
  65.     }
  66.     odp=100*x/(n-X);
  67.     cout<<odp<<"%\n";
  68.     f.close();
  69.     w.close();
  70.     total[1]+=odp;
  71.   }
  72.   total[1]=total[1]/N;
  73.   for(int k=0;k<N;k++){
  74.     odp=0,x=0,X=0;
  75.     system("python3 pistestgen.py 3 test ./");
  76.     system("./pis < test.in > odp.out");
  77.     f.open("test.out",ios::in);
  78.     w.open("odp.out",ios::in);
  79.     for(int i=0;i<n;i++){
  80.       ccout<<i+1<<": ";
  81.       getline(w,a);
  82.       getline(f,b);
  83.       if(a=="XXX"){
  84.         X++;
  85.         ccout<<"X\n";
  86.       }
  87.       else if(a==b){
  88.         ccout<<"OK\n";
  89.         x++;
  90.       }
  91.       else
  92.         ccout<<"ANS\n";
  93.     }
  94.     odp=100*x/(n-X);
  95.     cout<<odp<<"%\n";
  96.     f.close();
  97.     w.close();
  98.     total[2]+=odp;
  99.   }
  100.   total[2]=total[2]/N;
  101.   for(int k=0;k<N;k++){
  102.     odp=0,x=0,X=0;
  103.     system("python3 pistestgen.py 4 test ./");
  104.     system("./pis < test.in > odp.out");
  105.     f.open("test.out",ios::in);
  106.     w.open("odp.out",ios::in);
  107.     for(int i=0;i<n;i++){
  108.       ccout<<i+1<<": ";
  109.       getline(w,a);
  110.       getline(f,b);
  111.       if(a=="XXX"){
  112.         X++;
  113.         ccout<<"X\n";
  114.       }
  115.       else if(a==b){
  116.         ccout<<"OK\n";
  117.         x++;
  118.       }
  119.       else
  120.         ccout<<"ANS\n";
  121.     }
  122.     odp=100*x/(n-X);
  123.     cout<<odp<<"%\n";
  124.     f.close();
  125.     w.close();
  126.     total[3]+=odp;
  127.   }
  128.   total[3]=total[3]/N;
  129.   cout<<"USREDNIONE: "<<endl;
  130.   for(int i=0;i<4;i++){
  131.     cout<<"test nr: "<<i+1<<" - "<<total[i]<<"%\n";
  132.     if(i==0){
  133.       suma=(total[i]-33)/(90-33)*20;
  134.       wyn=min(suma,(double)20);
  135.       cout<<"liczba punktow: "<<wyn<<endl;
  136.     }
  137.     if(i==1){
  138.       suma+=(total[i]*10-333)/(900-333)*20;
  139.       wyn=min((total[i]*10-333)/(900-333)*20,(double)20);
  140.       cout<<"liczba punktow: "<<wyn<<endl;
  141.     }
  142.     if(i==2||i==3){
  143.       suma+=(total[i]*10-333)/(900-333)*30;
  144.       wyn=min((total[i]*10-333)/(900-333)*30,(double)30);
  145.       cout<<"liczba punktow: "<<wyn<<endl;
  146.     }
  147.   }
  148.   cout<<"SUMA:  "<<suma<<endl;
  149.   return 0;
  150. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement