Imprime la suma de la array y su imagen especular

Se le da una array de orden N*N . La tarea es encontrar la array resultante sumando la imagen especular de la array dada con la array misma.
Ejemplos
 

Input : mat[][] = {{1, 2, 3},
                              {4, 5, 6},
                              {7, 8, 9}}
Output : 4 4 4
               10 10 10
               16 16 16
Explanation:  
Resultant Matrix = {{1, 2, 3},      {{3, 2, 1}, 
                                 {4, 5, 6},   +   {6, 5, 4},
                                 {7, 8, 9}}       {9, 8, 7}}

Input : mat[][] = {{1, 2},
                               {3, 4}}
Output : 3 3
               7 7

Al encontrar la imagen especular de la array, la fila de cada elemento permanecerá igual, pero el valor de sus columnas se reorganizará. Para cualquier elemento A ij su nueva posición en la imagen especular será A i(nj) . Después de obtener la imagen especular de la array, agréguela a la array original e imprima el resultado.
Puntos a cuidar: 
 

  1. La indexación de la array comenzará desde 0, 0 y terminará en n-1, n-1, por lo tanto, la posición de cualquier elemento A ij será A i (n-1-j).
  2. Al imprimir el resultado, tenga cuidado con el formato de salida adecuado

A continuación se muestra la implementación del enfoque anterior: 
 

C++

// C++ program to find sum of matrix and
// its mirror image
#include <bits/stdc++.h>
 
#define N 4
using namespace std;
 
// Function to print the resultant matrix
void printSum(int mat[][N])
{
    for (int i = 0; i < N; i++) {
        for (int j = 0; j < N; j++) {
            cout << setw(3) << mat[i][N - 1 - j] + mat[i][j] << " ";
        }
 
        cout << "\n";
    }
}
 
// Driver Code
int main()
{
    int mat[N][N] = { { 2, 4, 6, 8 },
                      { 1, 3, 5, 7 },
                      { 8, 6, 4, 2 },
                      { 7, 5, 3, 1 } };
 
    printSum(mat);
 
    return 0;
}

Java

// Java program to find sum of
// matrix and its mirror image
import java.io.*;
 
class GFG
{
static int N = 4;
 
// Function to print the
// resultant matrix
static void printSum(int mat[][])
{
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < N; j++)
        {
            System.out.print((mat[i][N - 1 - j] +
                              mat[i][j]) + " ");
        }
 
        System.out.println();
    }
}
 
// Driver Code
public static void main (String[] args)
{
    int mat[][] = { { 2, 4, 6, 8 },
                    { 1, 3, 5, 7 },
                    { 8, 6, 4, 2 },
                    { 7, 5, 3, 1 } };
 
    printSum(mat);
}
}
 
// This code is contributed by anuj_67

Python3

# Python 3 program to find sum of matrix
# and its mirror image
 
N = 4
 
# Function to print the resultant matrix
def printSum(mat):
    for i in range(N):
        for j in range(N):
            print('{:>3}'.format(mat[i][N - 1 - j] +
                                 mat[i][j]), end =" ")
             
        print("\n", end = "")
 
# Driver Code
if __name__ == '__main__':
    mat = [[2, 4, 6, 8],
           [1, 3, 5, 7],
           [8, 6, 4, 2],
           [7, 5, 3, 1]]
 
    printSum(mat)
 
# This code is contributed by
# Surendra_Gangwar

C#

// C# program to find sum of
// matrix and its mirror image
using System;
 
class GFG
{
static int N = 4;
 
// Function to print the
// resultant matrix
static void printSum(int [,]mat)
{
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < N; j++)
        {
            Console.Write((mat[i, N - 1 - j] +
                           mat[i, j]) + " ");
        }
 
        Console.WriteLine();
    }
}
 
// Driver Code
public static void Main ()
{
    int [,]mat = { { 2, 4, 6, 8 },
                   { 1, 3, 5, 7 },
                   { 8, 6, 4, 2 },
                   { 7, 5, 3, 1 } };
 
    printSum(mat);
}
}
 
// This code is contributed by shs..

PHP

<?php
// PHP program to find sum of
// matrix and its mirror image
 
// Function to print the
// resultant matrix
function printSum($mat)
{
    for ($i = 0; $i < 4; $i++)
    {
        for ($j = 0; $j < 4; $j++)
        {
            echo ($mat[$i][4 - 1 - $j] +
                  $mat[$i][$j]) . " " ;
        }
 
        echo "\n";
    }
}
 
// Driver Code
$mat = array(array(2, 4, 6, 8 ),
             array(1, 3, 5, 7),
             array(8, 6, 4, 2),
             array(7, 5, 3, 1));
 
printSum($mat);
     
// This code is contributed
// by Akanksha Rai
?>

Javascript

<script>
 
// Javascript program to find sum of matrix and
// its mirror image
 
var N = 4
 
// Function to print the resultant matrix
function printSum(mat)
{
    for (var i = 0; i < N; i++) {
        for (var j = 0; j < N; j++) {
            document.write( (mat[i][N - 1 - j] + mat[i][j]) + " ");
        }
 
        document.write("<br>");
    }
}
 
// Driver Code
var mat = [ [ 2, 4, 6, 8 ],
                  [ 1, 3, 5, 7 ],
                  [ 8, 6, 4, 2 ],
                  [ 7, 5, 3, 1 ] ];
printSum(mat);
 
</script>
Producción: 

10  10  10  10 
  8   8   8   8 
 10  10  10  10 
  8   8   8   8

 

Complejidad temporal : O(N 2 ) para una array de entrada dada de tamaño N*N

Espacio Auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por Shivam.Pradhan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *