#include #include /* Vector con memoria dinámica (malloc, calloc y free) */ void IngresarVector(int * v, int size); void MostrarVector(int * v, int size); int Maximo(int * v, int size); int Minimo(int * v, int size); float Promedio(int * v, int size); int main(int argc, char *argv[]) { int sizev, *v; // Cantidad de elementos del vector printf("Ingrese la cantidad de elementos del vector: "); scanf("%d", &sizev); // Inicialización del vector en la memoria dinámica (heap) v = (int *)calloc(sizev, sizeof(int)); // Ingreso de elementos if(v == NULL) { printf("Error:\n"); printf("\tNo hay memoria disponible.\n"); system("PAUSE"); return 1; } IngresarVector(v, sizev); // Mostrar valores de la lista MostrarVector(v, sizev); // Valor máximo, mínimo y promedio printf("Valor maximo del vector: %d\n", Maximo(v, sizev)); printf("Valor minimo del vector: %d\n", Minimo(v, sizev)); printf("Valor promedio del vector: %.2f\n", Promedio(v, sizev)); // Liberar memoria free(v); system("PAUSE"); return 0; } void IngresarVector(int * v, int size) { int i; for(i = 0; i < size; i++) { printf("Ingrese el valor del elemento v[%d] = ", i+1); scanf("%d", &v[i]); } } void MostrarVector(int * v, int size) { int i; printf("Mostrar vector: \n"); for(i = 0; i < size; i++) { printf("v[%d]: %d ", i+1, v[i]); } printf("\n"); } int Maximo(int * v, int size) { int i; int max = v[0]; for(i = 1; i < size; i++) { if(max < v[i]) max = v[i]; } return max; } int Minimo(int * v, int size) { int i; int min = v[0]; for(i = 1; i < size; i++) { if(min > v[i]) min = v[i]; } return min; } float Promedio(int * v, int size) { int i; int sum = 0; float prm = 0; for(i = 0; i < size; i++) { sum += v[i]; } prm = (float)sum/size; return prm; }