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!