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

τρεχω 5 φορες heapsort για 5 διαφ. []. τη 1η φορα ολα οκ τις αλλες λαθος! (C++)


tolis86

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

Δημοσ.

γιατι ορε?

εχω μια μεθοδο που απο εναν 4διαστατο πινακα μεσω bubblesort βρησκει τις μεγηστες τιμες εχοντας προσδιορισει 2 απο τις 4 διαστασεις στις εισοδους της μεθοδου και μεσο φορ-λουψ βαζει και τις αλλες 2 διαστασεις και βρησκει τις μεγηστες τιμες και τις γραφει σε εναν αλλο πινακα πιο μικρο φυσικα και μονοδιαστατο.

 

>int maxarray (int a[][5][24][4], int b[], int cit, int sel) 
{
   switch(sel)
   {
          case(1):{
                  for(int w=0;w<5;w++)
           {
              for(int i=0;i<24;i++)
           	{
                 for(int j=0;j<i;j++)
	          {
		        if(a[cit][w][i][3]<a[cit][w][j][3])
		         {
			       int temp=a[cit][w][i][3]; //swap 
			         a[cit][w][i][3]=a[cit][w][j][3];
                         a[cit][w][j][3]=temp;
                         
                         
		          }

	            }

                  }
                }
                         
                         for(int e=0;e<5;e++)
                         {b[e]=a[cit][e][23][3];}
                         break;
                         }
case(2):{
                  for(int w=0;w<5;w++)
           {
              for(int i=0;i<24;i++)
           	{
                 for(int j=0;j<i;j++)
	          {
		        if(a[cit][w][i][3]>a[cit][w][j][3])
		         {
			       int temp=a[cit][w][i][3]; //swap 
			         a[cit][w][i][3]=a[cit][w][j][3];
                         a[cit][w][j][3]=temp;
		          }

	            }

                  }
                }
                         
                         for(int e=0;e<5;e++)
                         {b[e]=a[cit][e][23][3];}
                         break;
}
}   
}

 

 

μετα καλω την heapsort για να κανει heapsort στον πινακα αυτον τον 5αρη. ο κωδικας της heapsort ειναι σωστος διοτι τον δοκιμασα σε προγραμματακι που κανει απλα ενα χιπ σορτ σε εναν δοθεντα πινακα. τελος παντων, βρησκωκαθε φορα τις μεγηστες τιμες για δοθουσα cit και sel και αμεσως μετα καλω χιπ σορτ. αντε παλι..... αυτο το πραμα γινεται 5 φορες. τη πρωτη το κανει σωστα τις αλλες 4 λαθος!!!!! wtf?

Δημοσ.

α, και κατι ακομα. την καταταξη την κανω και με bubble sort και αμα την κανω αρχκα και bubblesort μου τα βγαζει και τις 5 φορες σωστα. αν πριν απο bublesort δοκιμασω heapsort τοτε και με heapsort αλλα και με bubblesort θα βγουν λαθος!!!

  • 2 μήνες μετά...
Δημοσ.

CEID project προγραμματισμού 2ου έτους μου μυρίζει :). Στείλε κανά pm αν θές, και εγώ παιδεύομαι αυτόν τον καιρό με το project αυτο.

  • 2 εβδομάδες αργότερα...
Δημοσ.

Παντού υπάρχει ένας ceidας!!!Όταν λες ότι τις 4 από τις 5 φορές δεν τρέχει σωστά η heapsort εννοείς ότι δεν κάνει ταξινόμηση καθόλου ή ότι σου βγάζει άλλα νούμερα;;;;

Δημοσ.

Που βρίσκεται η διαφορά μεταξύ case 1 και case 2 :confused:

 

 

Μήπως την πρώτη φορά το καλείς εκτός συνάρτησης και μετά μέσω αυτής και δεν σου επιστρέφει τιμές λόγω περάσματος μεταβλητών by value ? λέω γω τώρα...

Δημοσ.

Για να μην ανοίγω νέο θέμα γράφω εδώ.

 

Έχω έναν πίνακα μεγέθους 4x60. Θέλω να ταξινομήσω την 4η γραμμή χρησιμοποιώντας τον αλγόριθμο HeapSort. Έχω βρεί έναν κώδικα για μονοδιάστατους πίνακες και τον μετέτρεψα ώστε να δέχεται και διδιάστατους πίνακες.

 

Το πρόβλημα είναι πως θέλω όταν αλλάζει θέση κάποιο στοιχείο της 4ης γραμμής (έστω το Α(4,10), να αλλάζουν θέση μαζί του όλα τα στοιχεία της στήλης (δηλαδή όλα τα στοιχεία της 10ης στήλης). Καμμιά ιδέα?

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...