Произведение средней строки и столбца в нечетной квадратной матрице
Опубликовано: 3 Декабря, 2021
Дана целочисленная квадратная матрица нечетных размеров (3 * 3, 5 * 5). Задача - найти произведение элементов средней строки и среднего столбца.
Примеры:
Ввод: мат [] [] = {{2, 1, 7}, {3, 7, 2}, {5, 4, 9}} Выход: Произведение среднего ряда = 42 Произведение среднего столбца = 28 Пояснение: Произведение элементов среднего ряда (3 * 7 * 2) Произведение элементов средней колонки (1 * 7 * 4) Ввод: мат [] [] = {{1, 3, 5, 6, 7}, {3, 5, 3, 2, 1}, {1, 2, 3, 4, 5}, {7, 9, 2, 1, 6}, {9, 1, 5, 3, 2}} Выход: Произведение среднего ряда = 120 Произведение средней колонны = 450
Рекомендуется: сначала попробуйте свой подход в {IDE}, прежде чем переходить к решению.
Подход: поскольку данная матрица имеет нечетные размеры, средняя строка и столбец всегда будут на n / 2-м месте. Итак, запустите цикл от i = 0 до N и создайте все элементы средней строки, то есть row_prod * = mat [n / 2] [i] . Точно так же произведение элементов среднего столбца будет col_prod * = mat [i] [n / 2] .
Ниже представлена реализация описанного выше подхода:
C ++
// C++ program to find product of // middle row and middle column in matrix #include <iostream> using namespace std; const int MAX = 100; void middleProduct( int mat[][MAX], int n) { // loop for product of row and column int row_prod = 1, col_prod = 1; for ( int i = 0; i < n; i++) { row_prod *= mat[n / 2][i]; col_prod *= mat[i][n / 2]; } // Print result cout << "Product of middle row = " << row_prod << endl; cout << "Product of middle column = " << col_prod; } // Driver code int main() { int mat[][MAX] = { { 2, 1, 7 }, { 3, 7, 2 }, { 5, 4, 9 } }; middleProduct(mat, 3); return 0; } |
Джава
// Java program to find product of // middle row and middle column in matrix import java.io.*; class GFG { static int MAX = 100 ; static void middleProduct( int mat[][], int n) { // loop for product of row and column int row_prod = 1 , col_prod = 1 ; for ( int i = 0 ; i < n; i++) { row_prod *= mat[n / 2 ][i]; col_prod *= mat[i][n / 2 ]; } // Print result System.out.print( "Product of middle row = " + row_prod); System.out.print( "Product of middle column = " + col_prod); } // Driver code public static void main (String[] args) { int mat[][] = { { 2 , 1 , 7 }, { 3 , 7 , 2 }, { 5 , 4 , 9 } }; middleProduct(mat, 3 ); } } // This code is contributed by shs |
Python3
# Python3 program to find product of # middle row and middle column in matrix MAX = 100 def middleProduct(mat, n): # loop for product of row and column row_prod = 1 col_prod = 1 for i in range (n) : row_prod * = mat[n / / 2 ][i] col_prod * = mat[i][n / / 2 ] # Print result print ( "Product of middle row = " , row_prod) print ( "Product of middle column = " , col_prod) # Driver code if __name__ = = "__main__" : mat = [[ 2 , 1 , 7 ], [ 3 , 7 , 2 ], [ 5 , 4 , 9 ]] middleProduct(mat, 3 ) # This code is contributed by ita_c |
C #
// C# program to find product of // middle row and middle column in matrix using System; class GFG { //static int MAX = 100; static void middleProduct( int [,]mat, int n) { // loop for product of row and column int row_prod = 1, col_prod = 1; for ( int i = 0; i < n; i++) { row_prod *= mat[n / 2,i]; col_prod *= mat[i,n / 2]; } // Print result Console.WriteLine( "Product of middle row = " + row_prod); Console.WriteLine( "Product of middle column = " + col_prod); } // Driver code public static void Main () { int [,]mat = { { 2, 1, 7 }, { 3, 7, 2 }, { 5, 4, 9 } }; middleProduct(mat, 3); } } // This code is contributed by shs |
PHP
<?php // PHP program to find product of // middle row and middle column in matrix $MAX = 100; function middleProduct( $mat , $n ) { // loop for product of row and column $row_prod = 1; $col_prod = 1; for ( $i = 0; $i < $n ; $i ++) { $row_prod *= $mat [ $n / 2][ $i ]; $col_prod *= $mat [ $i ][ $n / 2]; } // Print result echo "Product of middle row = " . $row_prod . "
" ; echo "Product of middle column = " . $col_prod ; } // Driver code $mat = array ( array ( 2, 1, 7 ), array ( 3, 7, 2 ), array ( 5, 4, 9 )); middleProduct( $mat , 3); // This code is contributed // by Akanksha Rai ?> |
Javascript
<script> // Javascript program to find product of // middle row and middle column in matrix let MAX = 100; function middleProduct(mat,n) { // loop for product of row and column let row_prod = 1, col_prod = 1; for (let i = 0; i < n; i++) { row_prod *= mat[Math.floor(n / 2)][i]; col_prod *= mat[i][Math.floor(n / 2)]; } // Print result document.write( "Product of middle row = " + row_prod+ "<br>" ); document.write( "Product of middle column = " + col_prod+ "<br>" ); } // Driver code let mat = [[ 2, 1, 7 ], [ 3, 7, 2 ], [ 5, 4, 9 ]]; middleProduct(mat, 3); // This code is contributed by rag2127 </script> |
Выход:
Произведение среднего ряда = 42 Произведение среднего столбца = 28
Сложность времени: O (n)