Произведение средней строки и столбца в нечетной квадратной матрице
Опубликовано: 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 codeint 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 matriximport 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 matrixMAX = 100def 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 codeif __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 matrixusing 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)