fork download
  1. // Goodman Lookup
  2. #include <iostream>
  3. # include <math.h>
  4. using namespace std;
  5.  
  6. int main ()
  7. {
  8. double return_val [nCyc][2];
  9. double P [nCyc][2];
  10. double x [NLevels], y [NLevels], logS [NLevels], logN [NLevels];
  11. double x0i, x1i, y0i, y1i, mi, ci, kn;
  12. int n,i;
  13. double Sumxy,Sumx,Sumy,Sumx2,SumX2;
  14. for ( n=0 ; n<nCyc ; n++ )
  15. {
  16. //first, need to interpolate Goodman diagram linear indices for this section
  17. kn=Amplitude[n]/Mean[n];
  18. Sumxy=0;
  19. Sumx=0;
  20. Sumy=0;
  21. Sumx2=0;
  22. SumX2=0;
  23. for (i=0;i<NLevels;i++)
  24. {
  25. x0i=GoodmanMean[Sect[n]+i*NRVals];
  26. x1i=GoodmanMean[Sect[n]+(i+1)*NRVals];
  27. y0i=GoodmanAmp[Sect[n]+i*NRVals];
  28. y1i=GoodmanAmp[Sect[n]+(i+1)*NRVals];
  29. mi=(y1i-y0i)/(x1i-x0i);
  30. ci=y0i-mi*x0i;
  31. x[i]=ci/(kn-mi);
  32. y[i]=kn*x[i];
  33. logS[i]=log10(y[i]);
  34. logN[i]=log10(N[i]);
  35. if (PowerLaw==true)
  36. {
  37. //Power law curve fit
  38. Sumxy=Sumxy+logS[i]*logN[i];
  39. Sumx=Sumx+logN[i];
  40. Sumy=Sumy+logS[i];
  41. Sumx2=Sumx2+logN[i]*logN[i];
  42. }
  43. else
  44. {
  45. //Exponential curve fit
  46. Sumxy=Sumxy+y[i]*logN[i];
  47. Sumx=Sumx+logN[i];
  48. Sumy=Sumy+y[i];
  49. Sumx2=Sumx2+logN[i]*logN[i];
  50. }
  51. }
  52. SumX2=Sumx*Sumx;
  53. P[n][1]=(NLevels*Sumxy-Sumx*Sumy)/(NLevels*Sumx2-SumX2);
  54. P[n][2]=(Sumy-P[n][1]*Sumx)/NLevels;
  55.  
  56. }
  57. for ( n=0 ; n<nCyc ; n++ )
  58. {
  59. cout << P[n][1],
  60. cout << ", ";
  61. cout << P[n][2];
  62. cout << "\n";
  63. }
  64. return_val=P;
  65. return 0;
  66. }
  67.  
Compilation error #stdin compilation error #stdout 0s 3344KB
stdin
Standard input is empty
compilation info
prog.cpp: In function ‘int main()’:
prog.cpp:77:13: error: invalid array assignment
   return_val=P;
             ^
stdout
Standard output is empty