Ayuda con busqueda secuencial en matriz

Iniciado por UsuarioZ, 26 Febrero 2020, 05:16 AM

0 Miembros y 1 Visitante están viendo este tema.

UsuarioZ

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...



/* Busca un entero en una matriz de enteros cargando en los parámetros
  actuales la posición tanto de columna como de fila del elemento que
  contiene el entero. */
void BusqNumArr(TData reg, int* NFil, int* NCol, int num)
{
 int i = 0, j , cont = 0;



 while((i<reg.cantFil) && (reg.a[i][j] != num) && (cont < reg.cantEl))
 {
     j = 0;  //Faltaba esta linea...
   while((j<reg.cantCol) && (reg.a[i][j] != num) && (cont < reg.cantEl))
   {
     printf("\n%d\n", i);
     j++;
     cont++;
     printf("\n%d\n", cont);
   }
   i++;
 }

 if(reg.a[i][j] == num)
 {
   *NFil = i;
   *NCol = j;
 }
 else
 {
   *NFil = -1;
   *NCol = -1;
 }

}