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.