SOLUCI ´ON 1. (2.5 puntos): Realizar una función para generar los

Anuncio
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
Descargar