hola DickGumshoe! el problema que tenes cuando decis "Siempre me dice que el fichero no existe." es xq cuando usas fgets para pedir el nombre del fichero introducis caracteres hasta que encuentre nueva linea(enter) el cual tambien se guarda en el arreglo nombre[]. Supongamos que el archivo se llama "ficheros.txt", y vos llamas a fgets, en el arreglo vas a guardar: "ficheros.txt\n" (incluido el ENTER) . En este caso t conviene usar scanf, gets, hacer un ciclo con getchar....
El otro problema es que estas usando mal la variable i, deberias usarla como un indice para contar 25 lineas
Espero habert ayudado. Saludos