Προς το περιεχόμενο

c buble sort


Προτεινόμενες αναρτήσεις

Δημοσ.

προσπαθώ να φτιάξω ένα βροχο για ταξινόμηση του 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;
       }
} 

}

Δημοσ.

προσπαθώ να φτιάξω ένα βροχο για ταξινόμηση του 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;
              }
          }
     } 

 

δες το βελάκι για να δεις τι έχεις λάθος.

Δημοσ.

καταλαβα αλλα οταν προσπαθώ να εισαγω τα αρχικά δεδομένα εχω πρόβλημα

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]);}

}

 

βλέπω οτι καποιοι αριθμοί επαναλαμβάνονται.

Δημοσ.

εμενα αυτο δουλεψε μια χαρα, τι τιμες δοκιμαζεις; τι εξοδο εχεις;

 

 

>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;
}

 

Δημοσ.

Btw, στο http://en.wikipedia.org/wiki/Bubble_sort#Optimizing_bubble_sort εχει δυο πολυ καλες βελτιωσεις για τον "αλγοριθμο της φυσαλιδας" αν εχεις χρονο ριξε μια ματια, ειναι αρκετα ευκολες και απλες οι βελτιωσεις ;)

σε c κώδικα που θα βρώ τη βελτιωμένη μέθοδο bubble sort?

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...