PDA

Visualizza la versione completa : [C]Bubble Sort


darth fener
19-01-2009, 21:40
C' qualcuno che pu postarmi il codice dell'ordinamento bubble sort(quello normale, cio che parte dal fondo e man mano li porta all'inizio) commentato?Possibilmente vi chiedo di non metterci cose tipo funzioni, puntatori etc. Ho provato a farlo ma non mi viene :dh: Grazie in anticipo

oregon
19-01-2009, 22:52
Forse non e' chiaro (dalla tua e da altre richieste) che questo forum NON e' fatto per fare i compiti di scuola ...

Qui si propone del codice con dei problemi e se ne discute ...

Puoi fare una ricerca da solo con google per trovare il tuo codice ...

darth fener
19-01-2009, 22:57
Non che voglio il compito di scuola fatto.
1- Ho fatto tante ricerche su google senza trovare quello che cercavo.
2- Volevo che qualcuno mi postasse del codice /*commentato */ apposta perch volevo capire, non copiare senza capire quello che faccio.

oregon
19-01-2009, 23:02
Originariamente inviato da darth fener
Non che voglio il compito di scuola fatto.

Invece s perch hai detto che volevi il codice e anche commentato.

Non hai proposto un TUO codice eventualmente da CORREGGERE insieme.

E per me questo e' fare i compiti.


1- Ho fatto tante ricerche su google senza trovare quello che cercavo.

Magari non ci sar commentato riga per riga ma sicuramente ci sono mille esempi e dato che il bubble sort e' fatto da una decina di righe, potresti mostrare un po' di impegno nel cercare di comprenderle da solo o, al limite, potresti postarle e PROVARE di commentarle cosi' da indurre qualcuno a darti qualche CONSIGLIO.


2- Volevo che qualcuno mi postasse del codice /*commentato */ apposta perch volevo capire, non copiare senza capire quello che faccio.

Ma questo e' un forum di programmazione, non un libro o un'aula di scuola/universita'.

darth fener
19-01-2009, 23:17
Ecco il codice:
#include <stdio.h>

#define dmax 100

int main(void){
int v[dmax],sc;
unsigned i,n,j;
printf("Inserisci la dimensione dell'elenco: ");
scanf("%d",&n);
for(i=0;i<n;i++){
printf("\nInserisci valore: ");
scanf("%d",&v[i]);
}
for(i=n-1;i>0;i--){//devo fare n-1 passate a quanto ho capito
j=i;
while(j>(n-1)-i){
if(v[j-1]>v[j]){//qui ce lo scambio se il valore che c' prima maggiore
sc=v[j];
v[j]=v[j-1];
v[j-1]=sc;
}
j--;
}
}
for(i=0;i<n;i++) printf("%d",v[i]);
getch();
}

oregon
19-01-2009, 23:47
Questo ti e' piu' chiaro?



for (i=0; i<n-1; i++)
{
for (j=0; j<n-1-i; j++)
if (v[j] > v[j+1])
{
sc = v[j];
v[j] = v[j+1];
v[j+1] = sc;
}
}

Loading