Advertisement
Guest User

Untitled

a guest
Dec 14th, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. void printm(int*matr, int n, int m);
  6.  
  7. int main()
  8.  
  9. {
  10. setlocale (LC_CTYPE, "rus");
  11. int *matrix;
  12. int n, m, k;
  13. k=1;
  14. cout << "колличество строк = ";
  15. cin >> n;
  16. cout << "колличество столбцов = ";
  17. cin >> m;
  18.  
  19. matrix = new int[n*m];
  20.  
  21. for (int i = 0; i < n; i++)
  22. {
  23. for (int j = 0; j < m; j++)
  24. {
  25. cout << "Введите элемент матрицы № " << k << " - " ;
  26. cin >> *(matrix+i*m+j);
  27. k=k+1;
  28. }
  29. }
  30. printm(matrix, n, m);
  31.  
  32. bool* r = new bool(n);
  33. bool* c = new bool(m);
  34.  
  35. for (int i = 0; i < n; i++)
  36. {
  37. *(r+i) = 0;
  38. }
  39. for (int i = 0; i < m; i++)
  40. {
  41. *(c+i) = 0;
  42. }
  43. for (int i = 0; i < n; i++)
  44. {
  45. for (int j = 0; j < m; j++)
  46. {
  47. if (*(matrix+i*m+j) == 0)
  48. {
  49. *(r+i) = 1;
  50. *(c+j) = 1;
  51. }
  52. }
  53. }
  54.  
  55. for (int i = 0; i < n; i++)
  56. {
  57. for (int j = 0; j < m; j++)
  58. {
  59. if (*(r + i) || *(c + j))
  60. {
  61. *(matrix+i*m+j) = 0;
  62. }
  63. }
  64. }
  65. cout << endl << endl;
  66. printm(matrix, n, m);
  67. delete matrix;
  68. return 0;
  69. }
  70.  
  71. void printm(int* matr, int n, int m)
  72. {
  73. for (int i = 0; i < n; i++)
  74. {
  75. for (int j = 0; j < m; j++)
  76. {
  77. cout << *(matr+i*m+j) << " ";
  78. }
  79. cout << endl;
  80. }
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement