



Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Este documento contiene tres ejemplos de programas en c que resuelven diferentes ejercicios relacionados con la lectura y procesamiento de archivos. El primer ejemplo muestra cómo leer un archivo y mostrar sus contenidos en pantalla. El segundo ejemplo muestra cómo determinar el máximo, mínimo y promedio de los números leídos de un archivo. El tercer ejemplo muestra cómo calcular la función exponencial usando la serie de taylor. El documento también incluye instrucciones para el usuario, como pedir el nombre del archivo a leer y mostrar los resultados en pantalla.
Tipo: Ejercicios
1 / 6
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!




Ejercicios resueltos
Ejemplo 1 #include <stdio.h> #define maxele 10000 #define n 256
/funcion principal/ int main() { FILE fichero; /declaracion del fichero/ char nombre_fichero[n]; /cadena de caracteres para el nombre del fichero/ int total_num, i; /variables enteras/ float numero[maxele]; /vector para almacenar los numeros del fichero*/
/lectura del nombre del fichero desde pantalla/ printf("Nombre del fichero(< %d caracteres):", n); scanf("%s", nombre_fichero);
/*comando que abre el fichero en modo somente lectura "r" */ fichero=fopen(nombre_fichero, "r");
/en caso de no encontrar el fichero, presenta un error en pantalla y para la ejecucion del programa/ if (fichero==NULL) { printf("Error abriendo %s\n", nombre_fichero); fflush(stdin); getchar(); exit(0); }
/bucle de lectura de los elemento del vector numero para un numero indeterminado de elementos (menor que maxele)/ i=0;
while (!feof(fichero) && (i<maxele)) { fscanf(fichero, "%f", &numero[i]); i=i+1; }
/comando que cierra el fichero/ fclose(fichero);
total_num=i; /variable que armazena el total de numeros leidos/
/bucle que recoje el vector y lo presenta en pantalla/ for(i=0;i<total_num;i++) { printf("%f\n", numero[i]); }
fflush(stdin); getchar(); }
Ejemplo 2 #include <stdio.h> #define maxele 10000 #define n 256
/funcion que retorna el maximo entre dos numeros/ float maximo(float a, float b) { if (a>b) return(a); else return(b);
/bucle de lectura de los elemento del vector numero para un numero indeterminado de elementos (menor que maxele)/ i=0; while (!feof(fichero) && (i<maxele)) { fscanf(fichero, "%f", &numero[i]); i=i+1; }
/comando que cierra el fichero/ fclose(fichero);
total_num=i; /variable que armazena el total de numeros leidos/
/bucle que recoje el vextor y determina el maximo, minimo y el promedio/ max=numero[0]; min=numero[0]; suma=0; for(i=0;i<total_num;i++) { max=maximo(max,numero[i]); min=minimo(min,numero[i]); suma=suma+numero[i]; } media=suma/total_num;
/presenta el numero de numeros leidos y los resultados en pantalla/ printf(" %d numeros leido(s)\n", total_num); printf("maximo= %f\nminimo= %f\npromedio= %f", max, min, media);
fflush(stdin); getchar();
Ejemplo 3 #include <stdio.h> /funcion que calcula factorial/ double fact (int z) { int r; double h=1;
for (r=2; r<=z; r=r+1) { h=h*r; } return(h); }
/funcion que calcula potencia/ double pot (int x, int y) { /x^y/ int j; double f=1;
for (j=1; j<=y; j=j+1) f=f*x; return(f); }
/programa principal/ int main() { int x, i; double qt, q, error=0.00000001;