#include <stdio.h>
#define ROWS 7 // Кількість рядків
#define COLS 7 // Кількість стовпців
// Функція для підрахунку стовпців з хоча б одним нулем
int countColumnsWithZero( int matrix[ ROWS] [ COLS] ) {
int count = 0 ;
for ( int j = 0 ; j < COLS; j++ ) {
for ( int i = 0 ; i < ROWS; i++ ) {
if ( matrix[ i] [ j] == 0 ) {
count++;
break ;
}
}
}
return count;
}
// Функція для знаходження рядка з найдовшою серією однакових елементів
int findRowWithLongestSeries( int matrix[ ROWS] [ COLS] ) {
int maxRow = 0 , maxLen = 0 ;
for ( int i = 0 ; i < ROWS; i++ ) {
int currentLen = 1 ;
for ( int j = 1 ; j < COLS; j++ ) {
if ( matrix[ i] [ j] == matrix[ i] [ j - 1 ] ) {
currentLen++;
} else {
currentLen = 1 ;
}
if ( currentLen > maxLen) {
maxLen = currentLen;
maxRow = i;
}
}
}
return maxRow;
}
// Функція для обчислення суми парних і добутку непарних чисел у заштрихованій області
void processShadedArea( int matrix[ ROWS] [ COLS] , int * sumEven, int * prodOdd) {
* sumEven = 0 ;
* prodOdd = 1 ;
int hasOdd = 0 ;
for ( int i = 0 ; i < ROWS; i++ ) {
for ( int j = 0 ; j < COLS; j++ ) {
if ( ( i + j) % 2 == 0 ) { // Умовно заштриховані клітинки
if ( matrix[ i] [ j] % 2 == 0 ) {
* sumEven += matrix[ i] [ j] ;
} else {
* prodOdd *= matrix[ i] [ j] ;
hasOdd = 1 ;
}
}
}
}
if ( ! hasOdd) * prodOdd = 0 ; // Якщо немає непарних чисел, добуток 0
}
int main( ) {
int matrix[ ROWS] [ COLS] = {
{ 1 , 2 , 0 , 4 , 5 , 6 } ,
{ 7 , 0 , 9 , 10 , 11 , 12 } ,
{ 13 , 14 , 15 , 15 , 15 , 16 } ,
{ 17 , 18 , 19 , 20 , 0 , 22 } ,
{ 23 , 24 , 25 , 26 , 27 , 28 } ,
{ 29 , 30 , 31 , 32 , 33 , 34 }
} ;
int columnsWithZero = countColumnsWithZero( matrix) ;
int rowWithLongestSeries = findRowWithLongestSeries( matrix) ;
int sumEven, prodOdd;
processShadedArea( matrix, & sumEven, & prodOdd) ;
printf ( "Кількість стовпців з хоча б одним нулем: %d\n " , columnsWithZero
) ; printf ( "Номер рядка з найдовшою серією однакових елементів: %d\n " , rowWithLongestSeries
) ; printf ( "Сума парних чисел у заштрихованій області: %d\n " , sumEven
) ; printf ( "Добуток непарних чисел у заштрихованій області: %d\n " , prodOdd
) ;
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIFJPV1MgNyAgLy8g0JrRltC70YzQutGW0YHRgtGMINGA0Y/QtNC60ZbQsgojZGVmaW5lIENPTFMgNyAgLy8g0JrRltC70YzQutGW0YHRgtGMINGB0YLQvtCy0L/RhtGW0LIKCi8vINCk0YPQvdC60YbRltGPINC00LvRjyDQv9GW0LTRgNCw0YXRg9C90LrRgyDRgdGC0L7QstC/0YbRltCyINC3INGF0L7Rh9CwINCxINC+0LTQvdC40Lwg0L3Rg9C70LXQvAppbnQgY291bnRDb2x1bW5zV2l0aFplcm8oaW50IG1hdHJpeFtST1dTXVtDT0xTXSkgewogICAgaW50IGNvdW50ID0gMDsKICAgIGZvciAoaW50IGogPSAwOyBqIDwgQ09MUzsgaisrKSB7CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBST1dTOyBpKyspIHsKICAgICAgICAgICAgaWYgKG1hdHJpeFtpXVtqXSA9PSAwKSB7CiAgICAgICAgICAgICAgICBjb3VudCsrOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gY291bnQ7Cn0KCi8vINCk0YPQvdC60YbRltGPINC00LvRjyDQt9C90LDRhdC+0LTQttC10L3QvdGPINGA0Y/QtNC60LAg0Lcg0L3QsNC50LTQvtCy0YjQvtGOINGB0LXRgNGW0ZTRjiDQvtC00L3QsNC60L7QstC40YUg0LXQu9C10LzQtdC90YLRltCyCmludCBmaW5kUm93V2l0aExvbmdlc3RTZXJpZXMoaW50IG1hdHJpeFtST1dTXVtDT0xTXSkgewogICAgaW50IG1heFJvdyA9IDAsIG1heExlbiA9IDA7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IFJPV1M7IGkrKykgewogICAgICAgIGludCBjdXJyZW50TGVuID0gMTsKICAgICAgICBmb3IgKGludCBqID0gMTsgaiA8IENPTFM7IGorKykgewogICAgICAgICAgICBpZiAobWF0cml4W2ldW2pdID09IG1hdHJpeFtpXVtqIC0gMV0pIHsKICAgICAgICAgICAgICAgIGN1cnJlbnRMZW4rKzsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGN1cnJlbnRMZW4gPSAxOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChjdXJyZW50TGVuID4gbWF4TGVuKSB7CiAgICAgICAgICAgICAgICBtYXhMZW4gPSBjdXJyZW50TGVuOwogICAgICAgICAgICAgICAgbWF4Um93ID0gaTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBtYXhSb3c7Cn0KCi8vINCk0YPQvdC60YbRltGPINC00LvRjyDQvtCx0YfQuNGB0LvQtdC90L3RjyDRgdGD0LzQuCDQv9Cw0YDQvdC40YUg0ZYg0LTQvtCx0YPRgtC60YMg0L3QtdC/0LDRgNC90LjRhSDRh9C40YHQtdC7INGDINC30LDRiNGC0YDQuNGF0L7QstCw0L3RltC5INC+0LHQu9Cw0YHRgtGWCnZvaWQgcHJvY2Vzc1NoYWRlZEFyZWEoaW50IG1hdHJpeFtST1dTXVtDT0xTXSwgaW50ICpzdW1FdmVuLCBpbnQgKnByb2RPZGQpIHsKICAgICpzdW1FdmVuID0gMDsKICAgICpwcm9kT2RkID0gMTsKICAgIGludCBoYXNPZGQgPSAwOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBST1dTOyBpKyspIHsKICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IENPTFM7IGorKykgewogICAgICAgICAgICBpZiAoKGkgKyBqKSAlIDIgPT0gMCkgeyAvLyDQo9C80L7QstC90L4g0LfQsNGI0YLRgNC40YXQvtCy0LDQvdGWINC60LvRltGC0LjQvdC60LgKICAgICAgICAgICAgICAgIGlmIChtYXRyaXhbaV1bal0gJSAyID09IDApIHsKICAgICAgICAgICAgICAgICAgICAqc3VtRXZlbiArPSBtYXRyaXhbaV1bal07CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICpwcm9kT2RkICo9IG1hdHJpeFtpXVtqXTsKICAgICAgICAgICAgICAgICAgICBoYXNPZGQgPSAxOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgaWYgKCFoYXNPZGQpICpwcm9kT2RkID0gMDsgLy8g0K/QutGJ0L4g0L3QtdC80LDRlCDQvdC10L/QsNGA0L3QuNGFINGH0LjRgdC10LssINC00L7QsdGD0YLQvtC6IDAKfQoKaW50IG1haW4oKSB7CiAgICBpbnQgbWF0cml4W1JPV1NdW0NPTFNdID0gewogICAgICAgIHsxLCAyLCAwLCA0LCA1LCA2fSwKICAgICAgICB7NywgMCwgOSwgMTAsIDExLCAxMn0sCiAgICAgICAgezEzLCAxNCwgMTUsIDE1LCAxNSwgMTZ9LAogICAgICAgIHsxNywgMTgsIDE5LCAyMCwgMCwgMjJ9LAogICAgICAgIHsyMywgMjQsIDI1LCAyNiwgMjcsIDI4fSwKICAgICAgICB7MjksIDMwLCAzMSwgMzIsIDMzLCAzNH0KICAgIH07CiAgICAKICAgIGludCBjb2x1bW5zV2l0aFplcm8gPSBjb3VudENvbHVtbnNXaXRoWmVybyhtYXRyaXgpOwogICAgaW50IHJvd1dpdGhMb25nZXN0U2VyaWVzID0gZmluZFJvd1dpdGhMb25nZXN0U2VyaWVzKG1hdHJpeCk7CiAgICBpbnQgc3VtRXZlbiwgcHJvZE9kZDsKICAgIHByb2Nlc3NTaGFkZWRBcmVhKG1hdHJpeCwgJnN1bUV2ZW4sICZwcm9kT2RkKTsKICAgIAogICAgcHJpbnRmKCLQmtGW0LvRjNC60ZbRgdGC0Ywg0YHRgtC+0LLQv9GG0ZbQsiDQtyDRhdC+0YfQsCDQsSDQvtC00L3QuNC8INC90YPQu9C10Lw6ICVkXG4iLCBjb2x1bW5zV2l0aFplcm8pOwogICAgcHJpbnRmKCLQndC+0LzQtdGAINGA0Y/QtNC60LAg0Lcg0L3QsNC50LTQvtCy0YjQvtGOINGB0LXRgNGW0ZTRjiDQvtC00L3QsNC60L7QstC40YUg0LXQu9C10LzQtdC90YLRltCyOiAlZFxuIiwgcm93V2l0aExvbmdlc3RTZXJpZXMpOwogICAgcHJpbnRmKCLQodGD0LzQsCDQv9Cw0YDQvdC40YUg0YfQuNGB0LXQuyDRgyDQt9Cw0YjRgtGA0LjRhdC+0LLQsNC90ZbQuSDQvtCx0LvQsNGB0YLRljogJWRcbiIsIHN1bUV2ZW4pOwogICAgcHJpbnRmKCLQlNC+0LHRg9GC0L7QuiDQvdC10L/QsNGA0L3QuNGFINGH0LjRgdC10Lsg0YMg0LfQsNGI0YLRgNC40YXQvtCy0LDQvdGW0Lkg0L7QsdC70LDRgdGC0ZY6ICVkXG4iLCBwcm9kT2RkKTsKICAgIAogICAgcmV0dXJuIDA7Cn0K