Advertisement
Guest User

a

a guest
Feb 20th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.95 KB | None | 0 0
  1. #define INF 0
  2. #include <iostream>
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. int MatrixLen, sum, min = INF, z;
  8. cin >> MatrixLen;
  9. int matrix[MatrixLen][MatrixLen];
  10. int matrixMax[MatrixLen];
  11. for (int k = 0; k < MatrixLen; k++)
  12. for (int i = 0; i < MatrixLen; i++)
  13. {
  14. matrix[i][k] = INF;
  15. if(i == k) matrix[i][k] = 0;
  16. }
  17.  
  18.  
  19. for (int k = 0 + 1; k < MatrixLen ; k++)
  20. {
  21. cin >> z;
  22. z--;
  23. matrix[z][k] = 1;
  24. matrix[k][z] = 1;
  25. }
  26.  
  27. cout << endl << "print mass" << endl;
  28. for (int k = 0; k < MatrixLen; k++)
  29. {
  30. for (int i = 0; i < MatrixLen; i++)
  31. {
  32. cout << matrix[i][k] << "\t";
  33. }
  34. cout << endl;
  35. }
  36. cout << endl << " end print mass" << endl;
  37. bool massDel[MatrixLen];
  38. bool e;
  39. do
  40. {
  41. cout << endl << "************************************" << endl;
  42. e = false;
  43. for (int k = 0; k < MatrixLen; k++) massDel[k] = false;
  44. for (int k = 0; k < MatrixLen; k++)
  45. {
  46.  
  47. for (int i = 0; i < MatrixLen; i++)
  48. {
  49. sum = 0;
  50. for (int k = 0; k < MatrixLen; k++)
  51. {
  52. sum+= matrix[i][k];
  53. }
  54. matrixMax[i] = sum;
  55. if(sum > 1) e = true;
  56. if(sum == 1) massDel[i] = true;
  57. }
  58.  
  59. }
  60.  
  61. cout << endl << "print mass" << endl;
  62. for (int k = 0; k < MatrixLen; k++)
  63. {
  64. cout << matrixMax[k] << " " << massDel[k] << endl;
  65. }
  66. cout << endl << " end print mass" << endl;
  67. if(e)
  68. {
  69. for (int k = 0; k < MatrixLen; k++)
  70. {
  71. if(massDel[k])
  72. {
  73. for (int i = 0; i < MatrixLen; i++)
  74. {
  75. if(matrix[k][i])
  76. {
  77. matrix[k][i] = 0;
  78. matrix[i][k] = 0;
  79. }
  80. }
  81.  
  82. }
  83. }
  84. }
  85. cout << endl << "print mass" << endl;
  86. for (int k = 0; k < MatrixLen; k++)
  87. {
  88. for (int i = 0; i < MatrixLen; i++)
  89. {
  90. cout << matrix[i][k] << "\t";
  91. }
  92. cout << endl;
  93. }
  94. cout << endl << " end print mass" << endl;
  95.  
  96. } while(e);
  97.  
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement