Buenas tardes, soy Miguel con otro problemilla. Tengo que hacer un ejercicio donde se almacenen 20 números en un vector y se muestren por pantalla de mayor a menor.
Mi programa lo hace, pero cambia el valor más pequeño por una cosa monstruosa que coloca en primer lugar.
Aquí os dejo el código por si veis el error y podeis orientarme. Gracias a todos.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main (void){
float mayor, aux;
float vector[20];
int i=0, a=0, b=0, c=0;
memset(&vector, 0, sizeof(vector));
for(i=0; i<=19; i++){
printf("Introduzca numero: ");
scanf("%f", &vector
);
}
printf("n");
for(a=0; a<=19; a++){
for(c=0; c<=19; c++){
if(vector[c]<vector[c+1]){
mayor=vector[c+1];
aux=vector[c];
vector[c]=mayor;
vector[c+1]=aux;
}
}
}
for(b=0; b<=19; b++){
printf("%.3ft", vector);
}
printf("n");
system("PAUSE");
}
Un saludo!