Dada una array cuadrada de enteros de dimensiones impares (3 * 3, 5 * 5). La tarea es encontrar el producto de los elementos de la fila central y la columna central.
Ejemplos:
Input: mat[][] = {{2, 1, 7}, {3, 7, 2}, {5, 4, 9}} Output: Product of middle row = 42 Product of middle column = 28 Explanation: Product of Middle row elements (3*7*2) Product of Middle Column elements (1*7*4) Input: mat[][] = { {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}} Output: Product of middle row = 120 Product of middle column = 450
Enfoque: como la array dada tiene dimensiones impares, la fila y la columna del medio estarán siempre en el n/2. Entonces, ejecute un bucle desde i = 0 a N y produzca todos los elementos de la fila central, es decir, row_prod *= mat[n / 2][i] . De manera similar, el producto de los elementos de la columna del medio será col_prod *= mat[i][n/2] .
A continuación se muestra la implementación del enfoque anterior:
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; }
C
// C program to find product of // middle row and middle column in matrix #include <stdio.h> #define 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 printf("Product of middle row = %d\n",row_prod); printf("Product of middle column = %d\n",col_prod); } // Driver code int main() { int mat[][MAX] = { { 2, 1, 7 }, { 3, 7, 2 }, { 5, 4, 9 } }; middleProduct(mat, 3); return 0; } // This code is contributed by kothavvsaakash.
Java
// 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 . "\n"; 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>
Product of middle row = 42 Product of middle column = 28
Complejidad de tiempo: O(n)
Publicación traducida automáticamente
Artículo escrito por gfg_sal_gfg y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA