Guest User

Untitled

a guest
May 24th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. #include <cstdlib>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. class CMas
  7. {
  8. private: int str,stl;
  9. int **a;
  10. public:
  11. CMas(int n, int m);
  12. ~CMas();
  13. void Func();
  14. void Print();
  15. };
  16.  
  17.  
  18. CMas::CMas(int n, int m)
  19. {
  20. str=n;
  21. stl=m;
  22. a=new int *[str];
  23. for (int i=0;i<str;i++)
  24. {
  25. a[i]=new int[stl];
  26. for(int j=1;j<stl;j++)
  27. {
  28. a[i][j]=0;
  29. }
  30. }
  31.  
  32. void CMas::Func()
  33. {
  34. int s=0,p=n,k=m,in1=i,in2=j;
  35.  
  36. // filling algorithm
  37. int ch=1;
  38. while (s!=1)
  39. {
  40. for (i=n-1;i>in1-1;i--)
  41. {mas[i][m-1]=ch;
  42. ch++;}
  43.  
  44. for (i=m-2;i>in2-1;i--)
  45. {mas[in1][i]=ch;
  46. ch++;}
  47.  
  48. for (i=in1+1;i<n;i++)
  49. {mas[i][in2]=ch;
  50. ch++;}
  51.  
  52. for (i=in2+2;i<m;i++)
  53. {mas[n-1][i-1]=ch;
  54. ch++;}
  55.  
  56. n--;
  57. m--;
  58. in1++;
  59. in2++;
  60. if ((n-in1<0) || (m-in2<0))
  61. s=1;
  62. }
  63. }
  64.  
  65. void CMas::Print()
  66. {
  67. for (i=0;i<p;i++)
  68. {
  69. for (j=0;j<k;j++)
  70. {cout<<mas[i][j]<<" ";
  71. }
  72. cout<<endl;
  73. }
  74.  
  75. int main(int argc, char *argv[])
  76. {
  77. cout<<"enter n"<<endl;
  78. cin>>n;
  79. cout<<"enter m"<<endl;
  80. cin>>m;
  81.  
  82. CMas M(n,m);
  83. M.Func();
  84. M.Print();
  85.  
  86. system("PAUSE");
  87. return EXIT_SUCCESS;
  88. }
Add Comment
Please, Sign In to add comment