Advertisement
Guest User

Untitled

a guest
Nov 23rd, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.29 KB | None | 0 0
  1. #include "iostream"
  2. #include <vector>
  3. #include <string>
  4. using namespace std;
  5.  
  6.  
  7. int main()
  8. {
  9. setlocale(LC_ALL, "Russian");
  10. vector<int> mas;
  11. int n;
  12. cout << "Введите кол-во элементов в массиве: ";
  13. cin >> n;
  14. int q;
  15. int k = 0;
  16. bool flag = false;
  17. int sum = 0;
  18. for(int i = 0; i < n; i++)
  19. {
  20. cin >> q;
  21. mas.push_back(q);
  22. if(flag) sum += q;
  23. if(q > 0) k++;
  24. if(q == 0) flag = true;
  25. }
  26. cout << "сумма элементов после 0 = " << sum << endl;
  27. cout << "Кол-во положительных элементов в массиве = " << k << endl;
  28.  
  29. vector<int> mas2;
  30. for(int i = 0; i < mas.size(); i++)
  31. {
  32. if(mas[i] <= 1)
  33. {
  34. mas2.push_back(mas[i]);
  35. mas.erase(mas.begin() + i);
  36. i--;
  37. }
  38. }
  39. for(int i = 0; i < mas.size(); i++)
  40. {
  41. mas2.push_back(mas[i]);
  42. }
  43.  
  44. cout << "массив, в котором идут сначала элементы не превыщаюшие 1 " << endl;
  45. for(int i = 0; i < mas2.size(); i++)
  46. cout << mas2[i] << " ";
  47.  
  48. cout <<endl << "Квадратная матрица:" << endl;
  49. int m;
  50. cout << "введите размерность: ";
  51. cin >> m;
  52. int **masSq = new int* [m]; // две строки в массиве
  53. for (int i = 0; i < m; i++)
  54. masSq[i] = new int[m];
  55.  
  56. for(int i = 0; i < m;i++)
  57. for(int j = 0; j < m;j++)
  58. cin >> masSq[i][j];
  59.  
  60. cout << endl;
  61.  
  62. int mult = 1;
  63. bool flag2 = true;
  64. for(int i = 0; i < m;i++)
  65. {
  66. flag2 = true;
  67. mult = 1;
  68. for(int j = 0; j < m;j++)
  69. {
  70. if(masSq[i][j] >= 0)
  71. {
  72. mult *= masSq[i][j];
  73. }else{
  74. flag2 = false;
  75. break;
  76. }
  77. }
  78. if(flag2)
  79. cout << "произведение элементов в " << i << " строке = " << mult;
  80. cout << endl;
  81. }
  82.  
  83. cout << endl;
  84.  
  85. int *s = new int[2*m];
  86. for (int j=0;j<(2*m);j++) s[j]=0;
  87. for (int i=0;i<m;i++)
  88. {
  89. for (int j=0;j+i<m;j++)
  90. {
  91. s[j]+=masSq[i][i+j];
  92. s[m+j]+=masSq[i+j][i];
  93. }
  94. }
  95. int max = 0;
  96. for (int j=0;j<(2*m);j++)
  97. if(max < s[j] && j%m != 0 && j!=0)
  98. max = s[j];
  99. cout << "максимум среди сумм элементов диагоналей, параллельной главной = " << max << endl;
  100.  
  101.  
  102. system("PAUSE");
  103. return 0;
  104.  
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement