fork download
  1. #include <stdio.h>
  2.  
  3. #define ROWS 7 // Кількість рядків
  4. #define COLS 7 // Кількість стовпців
  5.  
  6. // Функція для підрахунку стовпців з хоча б одним нулем
  7. int countColumnsWithZero(int matrix[ROWS][COLS]) {
  8. int count = 0;
  9. for (int j = 0; j < COLS; j++) {
  10. for (int i = 0; i < ROWS; i++) {
  11. if (matrix[i][j] == 0) {
  12. count++;
  13. break;
  14. }
  15. }
  16. }
  17. return count;
  18. }
  19.  
  20. // Функція для знаходження рядка з найдовшою серією однакових елементів
  21. int findRowWithLongestSeries(int matrix[ROWS][COLS]) {
  22. int maxRow = 0, maxLen = 0;
  23. for (int i = 0; i < ROWS; i++) {
  24. int currentLen = 1;
  25. for (int j = 1; j < COLS; j++) {
  26. if (matrix[i][j] == matrix[i][j - 1]) {
  27. currentLen++;
  28. } else {
  29. currentLen = 1;
  30. }
  31. if (currentLen > maxLen) {
  32. maxLen = currentLen;
  33. maxRow = i;
  34. }
  35. }
  36. }
  37. return maxRow;
  38. }
  39.  
  40. // Функція для обчислення суми парних і добутку непарних чисел у заштрихованій області
  41. void processShadedArea(int matrix[ROWS][COLS], int *sumEven, int *prodOdd) {
  42. *sumEven = 0;
  43. *prodOdd = 1;
  44. int hasOdd = 0;
  45. for (int i = 0; i < ROWS; i++) {
  46. for (int j = 0; j < COLS; j++) {
  47. if ((i + j) % 2 == 0) { // Умовно заштриховані клітинки
  48. if (matrix[i][j] % 2 == 0) {
  49. *sumEven += matrix[i][j];
  50. } else {
  51. *prodOdd *= matrix[i][j];
  52. hasOdd = 1;
  53. }
  54. }
  55. }
  56. }
  57. if (!hasOdd) *prodOdd = 0; // Якщо немає непарних чисел, добуток 0
  58. }
  59.  
  60. int main() {
  61. int matrix[ROWS][COLS] = {
  62. {1, 2, 0, 4, 5, 6},
  63. {7, 0, 9, 10, 11, 12},
  64. {13, 14, 15, 15, 15, 16},
  65. {17, 18, 19, 20, 0, 22},
  66. {23, 24, 25, 26, 27, 28},
  67. {29, 30, 31, 32, 33, 34}
  68. };
  69.  
  70. int columnsWithZero = countColumnsWithZero(matrix);
  71. int rowWithLongestSeries = findRowWithLongestSeries(matrix);
  72. int sumEven, prodOdd;
  73. processShadedArea(matrix, &sumEven, &prodOdd);
  74.  
  75. printf("Кількість стовпців з хоча б одним нулем: %d\n", columnsWithZero);
  76. printf("Номер рядка з найдовшою серією однакових елементів: %d\n", rowWithLongestSeries);
  77. printf("Сума парних чисел у заштрихованій області: %d\n", sumEven);
  78. printf("Добуток непарних чисел у заштрихованій області: %d\n", prodOdd);
  79.  
  80. return 0;
  81. }
  82.  
Success #stdin #stdout 0.01s 5288KB
stdin
Standard input is empty
stdout
Кількість стовпців з хоча б одним нулем: 7
Номер рядка з найдовшою серією однакових елементів: 6
Сума парних чисел у заштрихованій області: 178
Добуток непарних чисел у заштрихованій області: 227053125