Publicidad

Problema:

Crear una matriz de n x n con la secuencia 1,2,3,4,5… ordenada de la siguiente forma.

Create an array of n x n, illustration ney, Matriz, codigo, Matriz en c++, Matriz en java

Solución:

illustration ney, Matriz, código,Crear una matriz en c++, Crear una matriz en java

Podemos observar que, al momento de colocar un elemento de la secuencia en la matriz, lo que se va modificando inicialmente es el número del subíndice que indica la posición de cada columna.

Crear una matriz en c++, fila y columna de una matriz

Luego, cuando llegamos a la ultima columna, esta es reiniciada y el subíndice vuelve a valer 1, mientras que el subíndice de la fila incrementa y ahora nuestra fila 1 es la fila 2.

row and column of a matrix

Hora que estamos en la siguiente fila, el subíndice que indica  la posición de la columna incrementa nuevamente hasta llegar a la ultima columna, posteriormente el subíndice que nos dice en que fila estamos incrementa nuevamente y así hasta llegar a la ultima fila y columna.

Example matrix

Publicidad

Matriz en informática

Programming matrix, Matrix c++, Matrix java

Y ahora podemos expresar esto en pseudocódigo (java y c++), donde la única diferencia es que la fila y columna empiezan en ‘0’ y no en ‘1’.

Variables del pseudocódigo:

  • Matriz: Nombre de la matriz que creamos.
  • fila: Cantidad de filas que tendrá la matriz al ser creada.
  • columna: Cantidad de columnas que tendrá la matriz al ser creada.
  • serie: Variable que incrementa de 1 en 1 para generar la secuencia.
  • filita: Es el subíndice que indica, en que fila de la matriz nos encontramos.
  • columnita: Es el subíndice que indica, en que columna de la matriz nos encontramos.

Pseudocódigo:

filita empieza en 0
columnita empieza en 0;
serie empieza en 1
mientras filita < fila hacer
   mientras columnita < columna hacer         
         Matriz[filita][columnita] = serie
         serie incrementa
         columna incrementa
   fin de mientras
   fila incrementa
   columnita =  0
fin de mientras

Este pseudocódigo lo llevamos al lenguaje de java y c++, donde solo aumentamos una variable que es la siguiente:

  • contenido: Es la variable en la que vamos concatenando la matriz.

Nota: El resultado de este código es visto en la terminal (consola), si desean verlo en formulario deberán aumentar lineas de códigos ustedes.

Código en java

import java.util.Scanner;
import java.util.*;

public class Matriz_nxn_serie1234{
	
	static String Matriz(int fila, int columna){
	  //Creamos las matriz
	  int Matriz[][] = new int[fila][columna];
	  String contenido = ""; //concatenar la matriz para mostrar en orisontal
	  int serie = 1;
	  int filita = 0;
	  int columnita = 0;
	  
	  while(filita < fila){
	    while(columnita < columna){
	      Matriz[filita][columnita] = serie;
	      contenido = contenido + String.valueOf(Matriz[filita][columnita] + " ");
	      serie++;
	      columnita++;
	    }
	    contenido = contenido + "\n";
	    filita++;
	    columnita = 0;
	  }
	return contenido;
	
	}
	
	public static void main(String[] args){
	
		Scanner teclado = new Scanner(System.in);
		System.out.print( "Introduzca cantidad de fila: " );
		int fila = teclado.nextInt();
		
		System.out.print( "Introduzca cantidad de columna: " );
		int columna = teclado.nextInt();
		
		//Insertar los valores a los parametros y mostrar resultado
		System.out.print(Matriz(fila,columna));	
		
	}
}

Código en c++

#include <iostream>
#include<string>

using namespace std;

int main(){
	int fila,columna;
	
	cout<<"por favor ingrese la cantida de fila: ";
	cin>>fila;
	
	cout<<"por favor ingrese la cantida de columna: ";
	cin>>columna;
	//Creamos las matriz
	int Matriz[fila][columna];
	string contenido = "";//concatenar la matriz para mostrar en orisontal
	int serie = 1;
	int filita = 0;
	int columnita = 0;
	while(filita < fila){
		while(columnita < columna){
		  Matriz[filita][columnita] = serie;
		  contenido = contenido + to_string(Matriz[filita][columnita]) + "   ";
			serie++;
			columnita++;
		}
		contenido = contenido + "\n";
		filita++;
		columnita = 0;
	}
        //Mostramos la matriz completa y concatenada
	cout << contenido << endl;	
  return 0;
}

Si encuentras algún error o algún otro detalle que se me hubiera escapado🤯, por favor déjalo en los comentarios, para que pueda corregirlo.

Publicidad