El caso es que el programa funciona bien pero a la hora de meter numeros negativos, por ejemplo:
-10, 2, 4
Me reconoce como maximo el numero negativo (En este caso -10) y como minimo el 2.
Código
#include <stdio.h> #include <stdlib.h> #define DIM 100 void leer_vector(int *, int); void escribir_vector(int *, int); void max_min_lista(int *, int, int *, int *); int main(int argc, char *argv[]) { int dim; int vector[DIM]; int maximo, minimo; printf("Introduzca la dimension del vector: "); scanf("%d",&dim); leer_vector(vector,dim); printf("\n"); escribir_vector(vector, dim); printf("\n"); max_min_lista(vector, dim, maximo, minimo); printf("\n\n"); system("PAUSE"); return 0; } void leer_vector(int *v, int dim){ int i; for(i=0;i<dim;i++){ printf("\nElemento (%d): ", i+1); scanf("%d",&v[i]); } } void escribir_vector(int *v, int dim){ int i; for(i=0;i<dim;i++){ printf("%8d ", v[i]); } } void max_min_lista(int *v, int dim, int *max, int *min){ int f, c; min = v[0]; max = v[0]; for(f=0;f<dim;f++){ if(v[f] > max){ max = v[f]; } else if(v[f] < min){ min = v[f]; } } printf("Maximo: %d Minimo: %d", max, min); }