Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Encontrar un elemento en una matriz

Estas en el tema de Encontrar un elemento en una matriz en el foro de C/C++ en Foros del Web. Hola amigos mi problema es el siguiente, la verdad no se muhco de matricez, lo que quiero es que dada una variable rta dada por ...
  #1 (permalink)  
Antiguo 03/12/2012, 09:36
 
Fecha de Ingreso: diciembre-2012
Mensajes: 2
Antigüedad: 11 años, 5 meses
Puntos: 0
Encontrar un elemento en una matriz

Hola amigos mi problema es el siguiente, la verdad no se muhco de matricez, lo que quiero es que dada una variable rta dada por un usuario esta sea buscada en una matriz predefinida y si esta reemplazar la rta dada por el usuario en la posicion de la matriz, es decir si la rta=20 se reemplaze ya sea en la primera posicion de la matrzi o en la siguiente, pero solo que reemplaze en una posicion, con el valor por ejemplo 888 , es decir que si en la primerza casilla de la matriz no se encuentra el 20 que recorra la matriz hasta encontrar este valor, no pude hacer que esto funcionara, en el siguiente codigo intente hacerlo pero me falla para el if, con el else funciona reemplazandola en la primera casilla, porfa nito urgente esto acepto sugerencias.

GestionMatriz::GestionMatriz(){

n=0;
m=0;
........

}


............


void GestionMatriz::mostrarMatrizNueva(int rta, int o, int p){
int v[8][6] = {
{20,40,150,10,130,160} ,
{180,30,90,20,50,70},
{0,100,40,60,120,150} ,
{270,60,10,130,110,140} ,
{50,150,170,0,10,20} ,
{30,140,20,160,50,60} ,
{10,60,50,120,40,150},
{40,90,70,80,30, 10},

};

if(rta!=v[n][m]){
for(int i=0;i<alto;i++){
for(int j=0;j<ancho;j++){
mostrarMatrizNueva(rta,i,j);}}}

else{
v[n][m]=888;

for(int i=0;i<alto;i++){
for(int j=0;j<ancho;j++){

matriz[i][j] = v[i][j];

}
}

for(int i=0;i<alto;i++){
for(int j=0;j<ancho;j++){
cout << matriz[i][j] << " ";
}
cout << endl;}}}

Última edición por danifer15420; 03/12/2012 a las 12:51
  #2 (permalink)  
Antiguo 07/12/2012, 19:56
 
Fecha de Ingreso: diciembre-2012
Mensajes: 2
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Encontrar un elemento en una matriz

nadie respondio
  #3 (permalink)  
Antiguo 07/12/2012, 20:17
Avatar de cotolon  
Fecha de Ingreso: octubre-2012
Mensajes: 55
Antigüedad: 11 años, 6 meses
Puntos: 10
Respuesta: Encontrar un elemento en una matriz

Es decir, quieres que si el usuario ingresa el 20, encuentre el primer 20 en la matriz y cambie ese valor por 888 y luego se salga del proceso ya que ya encontró el 20?
para hacer eso sería así:

Código C++:
Ver original
  1. bool encontrado = false;
  2. for(int i=0;i<alto && !encontrado;i++){
  3.     for(int j=0;j<ancho && !encontrado;j++){
  4.         if (rta == matriz[i][j]){
  5.             matriz[i][j] = 888; //cambia el valor
  6.             encontrado = true;
  7.            }
  8.     }
  9. }

una vez encontrado = true corta los ciclos

Etiquetas: elemento, encontrar, funcion, int, matriz, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:29.