1. Realice un programa en C que cree un array de N elementos de

Anuncio
1. Realice un programa en C que cree un array de N elementos de forma dinámica (utilizando
la función calloc) e imprima:
Suma de los elementos que se encuentran en posiciones pares del array.
Producto de los elementos que se encuentran en posiciones impares.
Recuerde liberar memoria.
SOLUCIÓN:
//pos_pares.c
#include<stdio.h>
#include<stdlib.h>
void main()
{
int *num,ndatos,par=0,impar=0,i, suma=0,producto=1;
printf("Introduzca el numero de elementos del array: ");
scanf("%d",&ndatos);
//Asignación de Memoria para el array de ndatos de tipo int
num = (int *) calloc(ndatos,sizeof(int));
if(num==NULL)
{
puts("Insuficiente Espacio de Memoria");
exit(-1);
}
for(i=0;i<ndatos;i++)
{
printf("Introduzca el numero[%d]: ",i);
scanf("%d",(num+i));
if(i%2 == 0)
{
par++;
suma += *(num+i);
}
if(i%2 != 0)
{
impar++;
producto *= *(num+i);
}
}
printf("\n\nLISTA DE NUMEROS LEIDOS: ");
for(i=0;i<ndatos;i++)
{
printf("%d ",*(num+i));
}
printf("\n\nEL PRODUCTO DE LOS %d NUMEROS QUE SE ENCUENTRAN EN POSICIONES IMPARES ES:
%d\n",impar,producto);
printf("\nLA SUMA DE LOS %d NUMEROS QUE SE ENCUENTRAN EN POSICIONES PARES ES:
%d\n",par,suma);
//Liberación de Memoria
free(num);
1
printf("\nMemoria Liberada\n");
}
2. Realice un programa en C que cree un array de N elementos de forma dinámica (utilizando
la función malloc) e imprima:
El producto de los elementos pares del array.
La suma de los elementos impares del array.
Recuerde liberar memoria.
SOLUCIÓN:
//elementos_par_impar.c
#include<stdio.h>
#include<stdlib.h>
void main()
{
int *num,ndatos,par=0,impar=0,i, suma=0,producto=1;
printf("Introduzca el numero de elementos del array: ");
scanf("%d",&ndatos);
//Asignación de Memoria para el array de ndatos de tipo int
num = (int *) malloc(ndatos * sizeof(int));
if(num==NULL)
{
puts("Insuficiente Espacio de Memoria");
exit(-1);
}
for(i=0;i<ndatos;i++)
{
printf("Introduzca el numero[%d]: ",i);
scanf("%d",(num+i));
if(*(num+i) %2 == 0)
{
par++;
producto *= *(num+i);
}
if(*(num+i) %2 != 0)
{
impar++;
suma += *(num+i);
}
}
printf("\n\nLISTA DE NUMEROS LEIDOS: ");
for(i=0;i<ndatos;i++)
{
printf("%d ",*(num+i));
}
printf("\n\nEL PRODUCTO DE LOS %d NUMEROS PARES ES: %d\n",impar,producto);
printf("\nLA SUMA DE LOS %d NUMEROS IMPARES ES: %d\n",par,suma);
2
//Liberación de Memoria
free(num);
printf("\nMemoria Liberada\n");
}
3. Realizar un programa que en C que cree un array de N elementos de forma dinámica
(utilizando la función malloc), imprimir:
Cuántos son ceros, cuántos son negativos, cuántos positivos.
Suma de los números negativos y positivos del array.
Recuerde liberar memoria.
SOLUCIÓN:
//pos_neg_neu.c
#include<stdio.h>
#include<stdlib.h>
void main()
{
int *num,ndatos,i, pos=0,neg=0,neutro=0;
printf("Introduzca el numero de elementos del array: ");
scanf("%d",&ndatos);
//Asignación de Memoria para el array de ndatos de tipo int
num = (int *) malloc(ndatos * sizeof(int));
if(num==NULL)
{
puts("Insuficiente Espacio de Memoria");
exit(-1);
}
for(i=0;i<ndatos;i++)
{
printf("Introduzca el numero[%d]: ",i);
scanf("%d",(num+i));
}
printf("\n\nLISTA DE NUMEROS LEIDOS:");
for(i=0;i<ndatos;i++)
{
printf("%d ",*(num+i));
if(*(num+i) >0)
pos++;
else if(*(num+i) <0)
neg++;
else
neutro++;
}
printf("\n\nHay %d numeros POSITIVOS\n",pos);
printf("\nHay %d numeros NEGATIVOS\n",neg);
printf("\nHay %d numeros NEUTROS\n",neutro);
3
//Liberación de Memoria
free(num);
printf("\nMemoria Liberada\n");
}
4. Realizar un programa en C que cree un array de N elementos de forma dinámica
(utilizando la función malloc), para leer las calificaciones de los N estudiantes. Calcule e
imprima el porcentaje de aprobados y reprobados tomando en cuenta que la calificación
mínima para aprobar es 60 pts. Recuerde liberar memoria.
SOLUCIÓN:
//aprob_rep.c
#include<stdio.h>
#include<stdlib.h>
void main()
{
int *num,nest,i,ap=0,rep=0;
float pap,prep;
printf("Introduzca el numero de estudiantes: ");
scanf("%d",&nest);
//Asignación de Memoria para el array de ndatos de tipo int
num = (int *) malloc(nest * sizeof(int));
if(num==NULL)
{
puts("Insuficiente Espacio de Memoria");
exit(-1);
}
for(i=0;i<nest;i++)
{
printf("Calificacion[%d]: ",i);
scanf("%d",(num+i));
if(*(num+i) >=60)
ap++;
else
rep++;
}
printf("\n\nCALIFICACIONES LEIDAS:");
for(i=0;i<nest;i++)
{
printf("%d ",*(num+i));
}
pap= (ap*100)/nest;
prep=(rep*100)/nest;
printf("\n\nHAY %d ESTUDIANTES APROBADOS Y REPRESENTAN:%.f%%\n",ap,pap);
printf("\nHAY %d ESTUDIANTES REPROBADOS Y REPRESENTAN:%.f%%\n",rep,prep);
//Liberación de Memoria
free(num);
4
printf("\nMemoria Liberada\n");
}
5. Realice un programa en C que cree un array de N elementos de forma dinámica (utilizando
la función malloc) e imprima:
El promedio de los elementos leídos en el array.
Lista con los elementos del array cuyo valor sea mayor o igual que el promedio.
Recuerde liberar memoria.
SOLUCIÓN:
//promedio.c
#include<stdio.h>
#include<stdlib.h>
void main()
{
int *num,ndatos,i, promedio,suma=0,may=0;
printf("Introduzca el numero de elementos del array: ");
scanf("%d",&ndatos);
//Asignación de Memoria para el array de ndatos de tipo int
num = (int *) malloc(ndatos * sizeof(int));
if(num==NULL)
{
puts("Insuficiente Espacio de Memoria");
exit(-1);
}
for(i=0;i<ndatos;i++)
{
printf("Introduzca el numero[%d]: ",i+1);
scanf("%d",(num+i));
suma += *(num+i);
}
promedio = suma / ndatos;
printf("\n\nLISTA DE NUMEROS LEIDOS:");
for(i=0;i<ndatos;i++)
{
printf("%d ",*(num+i));
if(*(num+i) >= promedio)
may++;
}
printf("\nHay %d numeros >= que %d (Promedio)\n\n",may,promedio);
//Liberación de Memoria
free(num);
printf("Memoria Liberada\n");
}
5
Descargar