Advertisement
user576

task1.cpp

Jan 29th, 2020
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. #include <string>
  2. using std::string;
  3. #include <iostream>
  4. using std::cin;
  5. using std::cout;
  6. #include <fstream>
  7.  
  8. int t1(int** matr, int n) {
  9. int sum = 0;
  10. for (int i = 0; i < n; ++i) {
  11. for (int j = 0; j < i; ++j) {
  12. sum += abs(matr[i][j]);
  13. }
  14. }
  15. return sum;
  16. }
  17.  
  18. int t2(int** matr, int n) {
  19. int k = 0;
  20. for (int i = 0; i < n; ++i) {
  21. for (int j = i + 1; j < n; ++j) {
  22. if (0 < matr[i][j] && (matr[i][j] % 2 == 0)) {
  23. ++k;
  24. }
  25. }
  26. }
  27. return k;
  28. }
  29.  
  30. void doOutput(int** matr, int n) {
  31. std::ofstream fout("output.txt");
  32. fout << "Сума модулів елементів, розташованих нижче головної діагоналі: " << t1(matr, n);
  33. fout << "\nКількість додатних парних елементів, розташованих вище головної діагоналі: " << t2(matr, n);
  34. fout.close();
  35. cout << "\nВивід задачі був здійснений у файл output.txt";
  36. }
  37.  
  38.  
  39. void task1() {
  40. cout << "\nВведіть кількість рядків квадратної матриці:\n";
  41. string s;
  42. int n;
  43. bool flag;
  44. //обробка виключних ситуац
  45. do {
  46. flag = false;
  47. std::getline(cin, s);
  48. try {
  49. n = std::stoi(s);
  50. }
  51. catch (std::invalid_argument const& e) {
  52. flag = true;
  53. }
  54. } while (flag);
  55.  
  56.  
  57. int** matr = new int*[n];
  58. for (int i = 0; i < n; ++i) {
  59. matr[i] = new int[n];
  60. }
  61.  
  62. cout << "\nВведіть квадратну матрицю:\n";
  63. for (int i = 0; i < n; ++i) {
  64. for (int j = 0; j < n; ++j) {
  65. cin >> matr[i][j];
  66. }
  67. }
  68. cin.ignore(1);
  69.  
  70. cout << "\nВи ввели матрицю:\n";
  71. for (int i = 0; i < n; ++i) {
  72. for (int j = 0; j < n; ++j) {
  73. cout << matr[i][j] << "\t";
  74. }
  75. cout << "\n";
  76. }
  77.  
  78. doOutput(matr, n);
  79.  
  80. for (int i = 0; i < n; ++i) {
  81. delete[] matr[i];
  82. }
  83. delete[] matr;
  84.  
  85.  
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement