alan2 Δημοσ. 8 Φεβρουαρίου 2012 Δημοσ. 8 Φεβρουαρίου 2012 προσπαθώ να φτιάξω ένα βροχο για ταξινόμηση του y[8] αλλα δεν κανει κατι... >for (i = 0 ;i<= 7;i++) { for (k = 8 ;k>= i+1;i--) { if (y[k] < y[k-1]) { t=y[k-1]; y[k-1]=y[k]; y[k]= t; } } }
nilosgr Δημοσ. 8 Φεβρουαρίου 2012 Δημοσ. 8 Φεβρουαρίου 2012 Απο http://www.algorithmist.com/index.php/Bubble_sort.c >void bubbleSort(int numbers[], int array_size) { int i, j, temp; for (i = (array_size - 1); i > 0; i--) { for (j = 1; j <= i; j++) { if (numbers[j-1] > numbers[j]) { temp = numbers[j-1]; numbers[j-1] = numbers[j]; numbers[j] = temp; } } } }
virxen75 Δημοσ. 8 Φεβρουαρίου 2012 Δημοσ. 8 Φεβρουαρίου 2012 προσπαθώ να φτιάξω ένα βροχο για ταξινόμηση του y[8] αλλα δεν κανει κατι... >for (i = 0 ;i<= 7;i++) { for (k = 8 ;k>= i+1;i--) {//<----------το 8 να γίνει 7 και το i-- k-- if (y[k] < y[k-1]) { t=y[k-1]; y[k-1]=y[k]; y[k]= t; } } } δες το βελάκι για να δεις τι έχεις λάθος.
nilosgr Δημοσ. 8 Φεβρουαρίου 2012 Δημοσ. 8 Φεβρουαρίου 2012 Btw, στο http://en.wikipedia.org/wiki/Bubble_sort#Optimizing_bubble_sort εχει δυο πολυ καλες βελτιωσεις για τον "αλγοριθμο της φυσαλιδας" αν εχεις χρονο ριξε μια ματια, ειναι αρκετα ευκολες και απλες οι βελτιωσεις
alan2 Δημοσ. 9 Φεβρουαρίου 2012 Μέλος Δημοσ. 9 Φεβρουαρίου 2012 καταλαβα αλλα οταν προσπαθώ να εισαγω τα αρχικά δεδομένα εχω πρόβλημα for (i=0;i<=2;i++){ for (j=0;j<=2;j++){ do{ printf("dose stoixeio %d %d",i,j); scanf("%d",&x[j]); } while(x[j]<0); } } μετα προσπαθω να δω τα περιεχόμενα του x[][], for (i=0;i<=2;i++){printf("\n"); for (j=0;j<=2;j++){ printf(" %d ",x[j]);} } βλέπω οτι καποιοι αριθμοί επαναλαμβάνονται.
nilosgr Δημοσ. 9 Φεβρουαρίου 2012 Δημοσ. 9 Φεβρουαρίου 2012 εμενα αυτο δουλεψε μια χαρα, τι τιμες δοκιμαζεις; τι εξοδο εχεις; >int main(int argc, char *argv[]) { int i, j, x[3][3]; for (i = 0; i <= 2; i++) { for (j = 0; j <= 2; j++) { do { printf("dose stoixeio %d %dn\n", i, j); scanf("%d", &x[i][j]); } while (x[i][j] < 0); } } for (i = 0; i <= 2; i++) { for (j = 0; j <= 2; j++) { printf("%d ", x[i][j]); } printf("\n"); } return 0; }
nilosgr Δημοσ. 9 Φεβρουαρίου 2012 Δημοσ. 9 Φεβρουαρίου 2012 α,επρεπε να γραφω int x[3][3] Ναι, αφου οι δεικτες i,j τρεχουν απο 0 εως και 2, δηλαδη 0 | 1 | 2 που ειναι τρεις θεσεις
alan2 Δημοσ. 11 Φεβρουαρίου 2012 Μέλος Δημοσ. 11 Φεβρουαρίου 2012 Btw, στο http://en.wikipedia.org/wiki/Bubble_sort#Optimizing_bubble_sort εχει δυο πολυ καλες βελτιωσεις για τον "αλγοριθμο της φυσαλιδας" αν εχεις χρονο ριξε μια ματια, ειναι αρκετα ευκολες και απλες οι βελτιωσεις σε c κώδικα που θα βρώ τη βελτιωμένη μέθοδο bubble sort?
Anubis13 Δημοσ. 11 Φεβρουαρίου 2012 Δημοσ. 11 Φεβρουαρίου 2012 σε c κώδικα που θα βρώ τη βελτιωμένη μέθοδο bubble sort? Καλο θα ηταν να την γραψεις μονος σου για να μαθεις http://webcache.googleusercontent.com/search?q=cache:BOsXiYpi-k4J:stmary.wcdsb.ca/programs/ics3c/Modified.htm+modified+bubble+sort&cd=2&hl=en&ct=clnk πχ αυτο θα βοηθησει.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα