EsattoOriginariamente inviato da Andres7X
Capito: l'altra riga ha inizializzazione e limite diverso.
L'output a video lo puoi modificare conComunque pensavo di inizializzarla a 1, perchè altrimenti compare "Inserisci il valore 0", che non ha molto senso.
printf("Inserisci il valore %d: ", i+1);
ma l'indice nel vettore che usi in
scanf("%d", &n[i]);
deve essere compreso tra 0 e MAX-1, altrimenti hai un errore di accesso alla memoria oppure "sporchi" lo stack. E questo e' grave.
E' quello che devi fare, cambiando la printf come ti ho detto ...Ho provato comunque a rendere i 2 for identici
Infatti ti ho scritto "cominciamo" con l'input dei dati ... esistono altri problemi ... non risolvi solamente con quella for ...ma non è cambiato niente.
In realta' quella if e' una "parte" della soluzione (per confrontare due elementi del vettore) ma manca un ciclo che esegua la if per tutti gli elementi del vettore ... Quindi
codice:for(i = 0; i <= MAX-1; i++) if(n[i]>n[i+1]) { temp = n[i]; n[i] = n[i+1]; n[i+1] = temp; }

Rispondi quotando