Código:
     if(id1[i] == identificar){
        encontrada = true;
        break;
        }
    else if (++i == contador){
  Me parece que el error puede estar aquí. Primero el break no es necesario ya que una vez encontrada=true, se saldrá del while. Lo segundo es que ++i va a incrementar i, y eso no es lo que quieres, mejor cambia eso por  
que hace el mismo chequeo sin cambiar el valor de i.