SOLUCIÓN 1. (2.5 puntos): Realizar una función para generar los valores de una tabla de multiplicar del 0 a un número n, en una sola matriz dinámica. Ejemplo: Para una entrada de n=3, la matriz queda como sigue: 0 1 2 3 1 1 2 3 2 2 4 6 3 3 6 9 int ** tabla(int n) { int **mat,i,j; mat = (int **) calloc (10,sizeof(int *)); for (i=0; i < n+1; i++) mat[i] = (int *) calloc (n+1,sizeof(int )); for (i=1; i < n+1; i++) for (j=1; j < n+1; j++) mat[i][j] = i*j; return mat; } 2. (2.5 puntos): 4. Construya un programa en lenguaje C tal, que dado como dato y, calcule el resultado de la siguiente función: x = 3 ∗ y + 36 x = y ∗ 2 − 10 x =y∗3+y∗2−1 x=0 si 0 < y ≤ 11 si 11 < y ≤ 33 si 33 < y ≤ 64 para cualquier otro valor de y int main(void) { int Y; int X; printf("\t\t\tDar el valor de Y: "); scanf("%d", & Y); if((0 < Y) && (Y <= 11)) { X = 3 * Y + 36; } else 1 Prof. Juan Juárez Fuentes { if((11 < Y) && (Y <= 33)) { X = Y * 2 - 10; } else { if((33 < Y) && (Y <= 64)) { X = Y * 3 + Y * 2 - 1; } else { X = 0; } } } printf("\n\n\t\t\tEl resultado es: X = %d\n", X); return 0; } 3. (2.5 puntos): Realizar una función recursiva que compute la suma de los dı́gitos individuales de un número N . Por ejemplo: para el número 1434 devolverá 1 + 4 + 3 + 4 = 12. int numDigitos(int num) { if( num >=-9 && num <=9) return num; else return numdigitos(num/10) + 1; } 4. (2.5 puntos): Escriba una función que solicite un texto cualquiera y lo vaya almacenando en el archivo de texto ”frase.txt”, al terminar solicitar al usuario una letra y buscar la cantidad de veces que dicha letra aparece en dicho archivo. void Texto(void) { FILE *archivo; char dato,x,letra; int i=0; archivo=fopen("FRASE.TXT","w+"); if(archivo == NULL) 2 Prof. Juan Juárez Fuentes printf("No se pudo crear el arhcivo"); else { printf("Teclea el contenido de tu archivo, para parar usa el caracter !"); do { dato=getchar(); fprintf(archivo,"%c",dato); }while (dato!=’!’); printf("Dame letra a buscar incidencias"); scanf("%c",&x); do { fscanf(archivo,"%c",&letra); if ( x == letra) i++; }while(feof(archivo)); printf("la cantidad de veces que aparece %c en tu archivo es %d",x,i); } fclose(archivo); } 3 Prof. Juan Juárez Fuentes