Guest User

Untitled

a guest
Jun 19th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. void seminar_4_task_1(int arr[][20], const int r)
  2. {
  3. //task 1
  4. int s = 0;
  5. for (int j = 0; j <= r; j++)//находим и выводим сумму столбцов
  6. {
  7. for (int i = 0; i <= r; i++)
  8. {
  9. if (arr[i][j] > 0) s += arr[i][j];
  10. else { s = 0; break; }
  11. }
  12. cout << "\n";
  13. if (s == 0) cout <<j+1 << " столбец содержит отрицательный элемент" << endl;
  14. else cout << "Сумма " << j + 1 << " столбца = " << s << endl;
  15. s = 0;
  16. }
  17. cout << "\n";
  18. }
  19. void seminar_4_task_2(int arr[][20], const int r)
  20. {
  21. //task 2
  22.  
  23. int h = (r - 1) * 2;
  24. int *ars = new int[h];
  25. for (int i = 0; i <= h; i++) ars[i] = 0; // Обнуление массива суммы
  26. for (int a = 0, b = r - 1; b >= 1; b--, a++) // a - указывает на ячейку в которую записывать сумму диагонали, b - указатель на диагональ
  27. {
  28. for (int i = 0, j = b; i <= b; i++, j--) // верхние диагонали
  29. {
  30. ars[a] += arr[i][j];
  31. }
  32.  
  33. for (int i = r, j = b; i <= b; i--, j++) // нижние диагонали
  34. {
  35. ars[a+1] += arr[i][j];
  36. }
  37.  
  38.  
  39. }
  40.  
  41. int min = ars[0];
  42.  
  43. for (int i = 1; i <= h; i++) // Находим минимум
  44. {
  45. if (min > ars[i]) min = ars[i];
  46. }
  47.  
  48. cout << "Минимальная сумма диагонали: " << min << endl;
  49.  
  50. for (int i = 0; i <= r; i++)
  51. {
  52. for (int j = 0; j <= r; j++)
  53. {
  54. cout << arr[i][j] << "\t";
  55. if (j == r) cout << "\n"; // переход на новую строку
  56. }
  57. }
  58.  
  59. }
Add Comment
Please, Sign In to add comment