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

oura proteraiothtas!


Moi!

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

Δημοσ.

Hi!prospatho na ftiaxo mia oura proteraiothtas kai apofasisa na kratiso oles tis vasikes praxeis tis aplis ouras ektos apo thn prosthesi sthn opoia kanw taxinomisi kathe fora oste to megalitero stoixeio na einai panta brosta,auto prospatho na to kano me tin swap alla eno kanei tis adalages timon telika den allazei to stoixeio pou vriskete stin arxi tis ouras!iparxei kapoios allos tropos na ginei auto?euxaristo ek ton proteron!

Δημοσ.

Καλό θα ήταν να γίνεις λίγο πιο συγκεκριμένος...Με τη swap τι ακριβώς κάνεις swap? Με τι γλώσσα έχεις γράψει τον κώδικα? Πώς έχεις φτιαξει την ουρά σου?...

Δημοσ.

grafo se C!kai tin oura tin ulopoio me pinaka !exo tis vasikes praxeis tis ouras kai stin prosthesi kano ta parakato:

 

void ProsthesiOura(typos_ouras *oura, typos_stoixeiou stoixeio)

{int j, l,i,k=0;

typos_stoixeiou max,max1;

 

if (GematiOura(*oura))

printf("bla bla);

else

{ oura->pinakas[oura->piso] = stoixeio;

l=oura->pinakas[oura->piso];

max=oura->pinakas[oura->embros];

if(l==max){

oura->piso = ( oura->piso + 1 )% PLITHOS;

}

else{

for(j=oura->embros;j<oura->piso;j++){

for(k=j;k<=oura->piso;k++){

if(oura->pinakas[k]>max)

max=oura->pinakas[k];

else

break;}

swap(&max,&l); }

 

oura->piso = ( oura->piso + 1 )% PLITHOS;

printf("pin[%d],%d/n",oura->pinakas[j],j); }

 

}

}

opou to stoixeio einai mia tixaia timi!

Δημοσ.

θα πρέπει να κάνεις τα max, l typos_stoixeiou * (pointers) γιατι έτσι κάνεις swap στις τιμές που έχουν οι μεταβλητές max,l και όχι στις τιμές του πίνακα!!!

Δηλαδή βάλε l=&(oura->pinakas[oura->embros]) kai max = &(oura->pinakas[k])

και μετά να κάνεις swap...

ελπίζω να κατάλαβες έτσι όπως το είπα...

 

ΥΓ. Το l πρέπει να είναι και αυτό typos_stoixeiou και όχι int όπως το έχεις...

 

edit: Επίσης γιατί όταν το l == max το αφήνεις όπως είναι?? Δεν θα έπρεπε να το βάζεις και σε αυτή την περίπτωση στην αρχή της ουράς??

Δημοσ.

δοκιμασε τη παρακάτω swap

>void swap( typos_stoixeiou *a, typos_stoixeiou *
{
  typos_stoixeiou tmp;

  tmp = *a;
  *a = *b;
  *b = tmp;
  return;
}

 

και κάλεσέ τη ώς

swap(max,l);

 

όπου τα max,l τα έχεις ορίσει ώς:

 

typos_stoixeioy *max, *l;

Δημοσ.

Μπορείς να βρείς αρκετά έτοιμα παραδείγματα στο

> http://www.nist.gov

Priority Queues

>http://www.nist.gov/dads/HTML/priorityque.html

Δημοσ.

kai ego etsi to ekana alla kapou allou tha exei ginei to lathos asto ,exallou den me vlepo na paradino ergasia !oso gia tis dieuthinsis euxaristo alla den boro na vro kati pou na me voithaei!

Δημοσ.

vasika to thema einai pos tha ftiaxo tin praxi tis prosthesis oste na ginetai elenxos an to stoixeio pou vrisketai embros na eina to megalitero kai an den einai na to vrisko kai na to topotheto brosta!

Δημοσ.

Στη δομή που θα έχεις για την ουρά τι στοιχεία κρατάς ;

Αν έχεις ας πούμε έναν αριθμό που το αυξάνεις κάθε φορά που κάνεις εισαγωγή κάποιο καινούργια δομή τότε εφόσον μπορέις να βρείς τη πρώτη εγραφή αν γνωρίζεις την τελευταία και αντίστροφα.

Δημοσ.

apla dino ena tixaio arithmo pou einai o xronos eisodou enos palati sto magazi!

kai exo ena deikti piso pou auxanetai kathe fora pou bainei enas pelatis kai ipothetoume oti i sixnotita eisegogis pelaton einai 3 pelates to lepto!katalabes?

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

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

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