Cargando

como encontrar un elemento de una matriz




Solución elegida por el autor
Iniciado por Josué , 27 junio 2016 - 11:03


lo siento... busco la forma en python

 

En Python te dejo dos opciones, la primera es algo más larga, pero así ves cómo se hace con 2 bucles.

matriz = [['A','B','C'],['D','A','F'],['G','H','I']]
elementoBuscado = 'A'
encontrado = False

for i in range(0, len(matriz)):
    for j in range (0, len(matriz[i])):
        if(elementoBuscado == matriz[i][j]):
            encontrado = True;
            print(elementoBuscado,"aparece por primera vez en la fila",i,"columna",j)
            break
        if(encontrado):
            break

Y la siguiente se escribe menos código y se hace en un simple bucle:

matriz = [['A','B','C'],['D','A','F'],['G','H','I']]
elementoBuscado = 'A'

for i in range(0, len(matriz)):
    try:
        indice = matriz[i].index(elementoBuscado)
        print(elementoBuscado,"aparece por primera vez en la fila",i,"columna",indice)
        break
    except:
        pass 

Ya eliges el que más te guste.

Pulsa corazón para recibir avisos de nuevas Respuestas

  AUTOR PREGUNTA

Publicado 22 junio 2016 - 23:11

Busco la manera de evaluar una matriz de letras en Python, creada al azar, buscando solo la letra(la primera solamente)

por ejemplo:

matriz = [['A','B','C'],['D','A','F'],['G','H','I']]

busco la letra 'A', pero solo quiero la primera que aparece


  • ¿Tienes la misma pregunta? Yo también
  • Volver arriba

 

Publicado 23 junio 2016 - 09:27

Hola Loreto, depende del lenguaje que uses, en java una forma sería así (no pongo el for each, porque a lo mejor cuesta más entenderlo al principio):

public class Matriz{
    public static void main(String arg[]){
        int [][] matriz = {{'A','B','C'},{'D','A','F'},{'G','H','I'}};
        char letraBuscada = 'A';
        boolean encontrado = false;
        for(int i = 0; i < matriz.length; i++){
            for(int j = 0; j < matriz[i].length; j++){
                if(matriz[i][j] == letraBuscada){
                    System.out.println("Fila: "+i+" | Columna: "+j);
                    encontrado = true;
                    break;
                }
            }
           if(encontrado)
               break;
        }
    }
}

Si lo sabes en un lenguaje te servirá para otros :).

Un saludo.



   AUTOR PREGUNTA

Publicado 25 junio 2016 - 22:46

lo siento... busco la forma en python



 

Publicado 26 junio 2016 - 17:10

lo siento... busco la forma en python



En ython se hace igual Loreto, solo cambia como se recorre la matriz

 

Publicado 27 junio 2016 - 11:03


lo siento... busco la forma en python

 

En Python te dejo dos opciones, la primera es algo más larga, pero así ves cómo se hace con 2 bucles.

matriz = [['A','B','C'],['D','A','F'],['G','H','I']]
elementoBuscado = 'A'
encontrado = False

for i in range(0, len(matriz)):
    for j in range (0, len(matriz[i])):
        if(elementoBuscado == matriz[i][j]):
            encontrado = True;
            print(elementoBuscado,"aparece por primera vez en la fila",i,"columna",j)
            break
        if(encontrado):
            break

Y la siguiente se escribe menos código y se hace en un simple bucle:

matriz = [['A','B','C'],['D','A','F'],['G','H','I']]
elementoBuscado = 'A'

for i in range(0, len(matriz)):
    try:
        indice = matriz[i].index(elementoBuscado)
        print(elementoBuscado,"aparece por primera vez en la fila",i,"columna",indice)
        break
    except:
        pass 

Ya eliges el que más te guste.




X