Advertisement
Guest User

Untitled

a guest
Jan 17th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.28 KB | None | 0 0
  1. #include <fstream>
  2. #include <cmath>
  3. using namespace std;
  4.  
  5. ifstream f("matrice_div_et_imp.in");
  6. ofstream g("matrice_div_et_imp.out");
  7.  
  8. long long n,v[520][520];
  9. int p1, i , j;
  10.  
  11. struct patrat
  12. {
  13. int iST, jST;
  14. } START;
  15.  
  16. void DEI(long long n, patrat def, long long v[520][520])
  17. {
  18. int m;
  19.  
  20. if(n == 1)
  21. {
  22. g << v[def.iST][def.jST] << " " << v[def.iST + 1][def.jST+ 1] << " " << v[def.iST][def.jST + 1] << " " << v[def.iST + 1][def.jST] << " ";
  23. }
  24.  
  25. else
  26. {
  27. patrat defp1; defp1.iST = def.iST, defp1.jST = def.jST;
  28. patrat defp2; defp2.iST = def.iST + (int)pow(2, n-1), defp2.jST = def.jST + (int)pow(2, n-1);
  29. patrat defp3; defp3.iST = def.iST, defp3.jST = def.jST + (int)pow(2, n-1);
  30. patrat defp4; defp4.iST = def.iST + (int)pow(2, n-1), defp4.jST = def.jST;
  31.  
  32. DEI(n-1, defp1, v);
  33. DEI(n-1, defp2, v);
  34. DEI(n-1, defp3, v);
  35. DEI(n-1, defp4, v);
  36. }
  37. }
  38.  
  39. int main()
  40. {
  41. START.iST = 1;
  42. START.jST = 1;
  43.  
  44.  
  45. f >> n;
  46. p1 = (int)pow(2,n);
  47.  
  48. for(i = 1; i <= p1; i++)
  49. {
  50. for(j = 1; j <= p1; j++)
  51. f >> v[i][j];
  52. }
  53.  
  54. if(n != 0) DEI(n, START, v);
  55. else g << v[1][1];
  56. return 0;
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement