Non ho scritto che è pieno di bug, ma che ci sono 1001 bug.
Il che si riferisce al fatto che dai per scontato che un ipotetico utente inserisca meno di 1000 in questa istruzione:
per poi effettuare un ciclo e un ordinamento usando quel numero, su un array di massimo 1000 elementi.codice:in >> N;
Se il tuo utente inserisce 1001 ( o al limite proprio 1000) il programma va in crash.codice:struttura giri [1000];
Dovresti inserire un controllo sul numero massimo che si può inserire.