Advertisement
Guest User

zadanieDD.cpp

a guest
Nov 28th, 2014
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.02 KB | None | 0 0
  1. #include "zadD_functions.h"
  2. double calculateFactorA(int, double**, int);
  3. string fileNames[3] = {"wynikiA.txt","wynikiB.txt","wynikiC.txt"};
  4. int tests[3] = {5,4,4};
  5. int columns[3] = {4,3,4};
  6. int numOfFiles = 3;
  7. double** tab;
  8. double factor1;
  9. double factor2;
  10. string factor3;
  11.  
  12.  
  13. int main() {
  14.   system("chcp 1250>NUL");
  15.   ofstream out;
  16.     string name = "results.txt";
  17.   out.open(name.c_str());
  18.  
  19.   for(int counter=0; counter<numOfFiles; counter++) {
  20.   //for(int counter=0; counter<1; counter++) {
  21.       cout<<"Ilosc danych w pliku: "<<tests[counter]<<endl;
  22.       int cols = columns[counter];
  23.       int num;
  24.       if(tests[counter]==4)
  25.         num=4;
  26.       else
  27.         num=5;
  28.       tab = new double*[num];
  29.         for(int i=0; i<num; i++)
  30.             tab[i] = new double[cols];
  31.      
  32.       for(int aa=0; aa<num; aa++)
  33.       for(int bb=0; bb<cols; bb++)
  34.       tab[aa][bb] = 0.0;
  35.      
  36.       ReadLinesFromFile(fileNames[counter],num,tab);
  37.       for(int j=0; j<num; j++) {
  38.         cout<<tab[j][0]<<" "<<tab[j][1]<<" "<<tab[j][2]<<" ";
  39.             if(cols==4)
  40.                 cout<<tab[j][3];
  41.             cout<<endl;
  42.         }
  43.      
  44.       factor1 = calculateFactorA(num,tab,1);
  45.       factor2 = calculateFactorA(num,tab,2);
  46.       if(cols==4) {
  47.         stringstream ss;
  48.         ss<<calculateFactorA(num,tab,3);
  49.         ss>>factor3;
  50.             WriteToFile(out,factor1,factor2,factor3,fileNames[counter]);
  51.         }
  52.       else
  53.         WriteToFile(out,factor1,factor2," - ",fileNames[counter]);
  54.   }
  55.   out.close();
  56.   system("pause");
  57.   return 0;
  58. }
  59.  
  60.  
  61. double calculateFactorA(int K, double** resultsTab, int resultType) {
  62.     double productsXYSum=0.0;
  63.     double xSum = 0.0;
  64.     double ySum = 0.0;
  65.     double sumsXYProduct = 0.0;
  66.     double powersXSum;
  67.     double sumsXPower;
  68.     double factorA;
  69.     for(int i=0; i<K; i++) {
  70.         productsXYSum += (log(100*pow(10.0,i))*log(resultsTab[i][resultType]));
  71.         xSum += log(100*pow(10.0,i));
  72.         ySum += log(resultsTab[i][resultType]);
  73.         powersXSum += pow(log(100*pow(10.0,i)),2.0);
  74.     }
  75.     sumsXPower = pow(xSum,2.0);
  76.     sumsXYProduct = xSum*ySum;
  77.     factorA = (K*productsXYSum - sumsXYProduct) / (K*powersXSum - sumsXPower);
  78.     return factorA;
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement