Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: UsuarioZ en 26 Febrero 2020, 05:16 am



Título: Ayuda con busqueda secuencial en matriz
Publicado por: UsuarioZ en 26 Febrero 2020, 05:16 am
Recorre solamente la primera fila, no entiendo por que sale del ciclo, debería recorrer 12 filas (del elemento 0 al 11 del arreglo), la matriz se paso inicializada en cero (el numero no deberia estar y deberia recorrer toda la matriz).

reg.cantEl es 3072
reg.cantFIl es 12
reg.cantCol es 256

Edito: Me acabo de dar cuenta, me pasa por usar mucho el for  :xD

Si algún mod lo ve pueden eliminarlo si quieren, ya esta solucionado...


Código
  1. /* Busca un entero en una matriz de enteros cargando en los parámetros
  2.    actuales la posición tanto de columna como de fila del elemento que
  3.    contiene el entero. */
  4. void BusqNumArr(TData reg, int* NFil, int* NCol, int num)
  5. {
  6.  int i = 0, j , cont = 0;
  7.  
  8.  
  9.  
  10.  while((i<reg.cantFil) && (reg.a[i][j] != num) && (cont < reg.cantEl))
  11.  {
  12.     j = 0;  //Faltaba esta linea...
  13.    while((j<reg.cantCol) && (reg.a[i][j] != num) && (cont < reg.cantEl))
  14.    {
  15.      printf("\n%d\n", i);
  16.      j++;
  17.      cont++;
  18.      printf("\n%d\n", cont);
  19.    }
  20.    i++;
  21.  }
  22.  
  23.  if(reg.a[i][j] == num)
  24.  {
  25.    *NFil = i;
  26.    *NCol = j;
  27.  }
  28.  else
  29.  {
  30.    *NFil = -1;
  31.    *NCol = -1;
  32.  }
  33.  
  34. }
  35.