Advertisement
Guest User

Untitled

a guest
Oct 16th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.85 KB | None | 0 0
  1. #include<iostream>
  2. using namespace std;
  3.  
  4. //ЛАБА №3 1 часть 7 вариант
  5. int main()
  6. {
  7. setlocale(LC_ALL, "RUS");
  8.  
  9. int ROW = 0, COL = 0;
  10. cout << "Введите количество строчек в матрице: ";
  11. cin >> ROW;
  12. if (cin.fail() || ROW > 20 || ROW < 2)
  13. {
  14. cout << "Неверная размерность для строк!" << endl;
  15. return -1;
  16. }
  17.  
  18. cout << "Введите количество столбцов в матрице: ";
  19. cin >> COL;
  20. if (cin.fail() || COL > 20 || COL < 2)
  21. {
  22. cout << "Неверная размерность для столбцов!" << endl;
  23. return -2;
  24. }
  25.  
  26. int** MATR = new int* [ROW];
  27.  
  28. for (auto i = 0; i < ROW; i++)
  29. {
  30. MATR[i] = new int[COL];
  31. }
  32.  
  33. for (int i = 0; i < ROW; i++)
  34. {
  35. for (int j = 0; j < COL; j++)
  36. {
  37. MATR[i][j] = 0;
  38. cout << "Введите элемент " << (i + 1) << "-ой строки, " << (j + 1) << "-го столбца: ";
  39. cin >> MATR[i][j];
  40. if (cin.fail())
  41. {
  42. cout << "Вы ввели не число!" << endl;
  43. return -3;
  44. }
  45. }
  46. cout << endl;
  47. }
  48.  
  49. cout << "Введённвя матрица:" << endl;
  50. for (int i = 0; i < ROW; i++)
  51. {
  52. for (int j = 0; j < COL; j++)
  53. {
  54. cout << MATR[i][j] << " ";
  55. }
  56. cout << endl;
  57. }
  58. cout << endl;
  59.  
  60. // Нахождение кол-во столбцов не содерж. элемента (1,1)//////
  61. int STB = 0;
  62. for (int j = 0; j < COL; j++)
  63. {
  64. for (int i = 0; i < ROW; i++)
  65. {
  66. if (MATR[0][0] == MATR[i][j])
  67. {
  68. break;
  69. }
  70. else if (MATR[0][0] != MATR[i][j] && ROW - 1 == i)
  71. {
  72. STB++;
  73. }
  74. }
  75. }
  76. cout << "Элемент матрицы A(1,1) равен " << MATR[0][0] << endl;
  77. cout << "Кол-во столбцов не содержащих этого элемента: " << STB << endl;
  78. cout << endl;
  79.  
  80.  
  81. // номер строки, в которой содержится самая длинная серия одинаковых элементов
  82. int COMBO = 1, MAX = 0, STR = 0;
  83. bool check = false;
  84. for (int i = 0; i < ROW; i++)
  85. {
  86. for (int j = 0; j < COL - 1; j++)
  87. {
  88. if (MATR[i][j] == MATR[i][j + 1])
  89. {
  90. COMBO++;
  91. }
  92. if (MATR[i][j]!=MATR[i][j+1])
  93. {
  94. if (MAX < COMBO)
  95. {
  96. MAX = COMBO;
  97. STR = i;
  98. check = true;
  99. }
  100. COMBO = 1;
  101. }
  102. }
  103.  
  104. if (MAX < COMBO)
  105. {
  106. MAX = COMBO;
  107. STR = i;
  108. check = false;
  109. }
  110. else if (MAX == COMBO)
  111. check = true;
  112. COMBO = 1;
  113. }
  114. cout << "Строка №" << (STR + 1) << " содержит ";
  115. if (check)
  116. cout << "одну из самых длинных серий ";
  117. else
  118. cout << "самую длинную серию ";
  119. cout << "одинаковых элементов." << endl << endl;
  120.  
  121.  
  122.  
  123. for (auto i = 0; i < ROW; i++)
  124. {
  125. delete[]MATR[i];
  126. }
  127. delete[]MATR;
  128. system("pause");
  129. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement