non capisco il procedimento utilizzato per disegnare il rombo ma la condizione del ciclo while più esterno
codice:
   while(a!=0 && u!=0 && v!=0){
      while(u>=0){
         printf(" ");
         u-=1;
      }
      while(a>=0){
         printf("*");
         a-=1;
      }
      while(v>=0){
         printf(" ");
         v-=1;
      }
   }
è sbagliata. Le variabili u, a e v escono dai rispettivi cicli con valore -1, non soddisfando la condizione di uscita del while esterno, che entra il loop.