Moi! Δημοσ. 2 Μαΐου 2006 Δημοσ. 2 Μαΐου 2006 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!
bird Δημοσ. 2 Μαΐου 2006 Δημοσ. 2 Μαΐου 2006 Καλό θα ήταν να γίνεις λίγο πιο συγκεκριμένος...Με τη swap τι ακριβώς κάνεις swap? Με τι γλώσσα έχεις γράψει τον κώδικα? Πώς έχεις φτιαξει την ουρά σου?...
Moi! Δημοσ. 2 Μαΐου 2006 Μέλος Δημοσ. 2 Μαΐου 2006 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!
bird Δημοσ. 2 Μαΐου 2006 Δημοσ. 2 Μαΐου 2006 θα πρέπει να κάνεις τα 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 το αφήνεις όπως είναι?? Δεν θα έπρεπε να το βάζεις και σε αυτή την περίπτωση στην αρχή της ουράς??
Moi! Δημοσ. 2 Μαΐου 2006 Μέλος Δημοσ. 2 Μαΐου 2006 ta ekana auta pou eipes alla pali ta idia ginode!oso gia to l==max to evgala !
bird Δημοσ. 2 Μαΐου 2006 Δημοσ. 2 Μαΐου 2006 δοκιμασε τη παρακάτω 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;
mamep Δημοσ. 2 Μαΐου 2006 Δημοσ. 2 Μαΐου 2006 Μπορείς να βρείς αρκετά έτοιμα παραδείγματα στο > http://www.nist.gov Priority Queues >http://www.nist.gov/dads/HTML/priorityque.html
Moi! Δημοσ. 2 Μαΐου 2006 Μέλος Δημοσ. 2 Μαΐου 2006 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!
mamep Δημοσ. 2 Μαΐου 2006 Δημοσ. 2 Μαΐου 2006 Γιατί δεν ποστάρεις τον κώδικα σου εδώ μήπως και σε βοηθήσει κανείς.
Moi! Δημοσ. 2 Μαΐου 2006 Μέλος Δημοσ. 2 Μαΐου 2006 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!
mamep Δημοσ. 2 Μαΐου 2006 Δημοσ. 2 Μαΐου 2006 Στη δομή που θα έχεις για την ουρά τι στοιχεία κρατάς ; Αν έχεις ας πούμε έναν αριθμό που το αυξάνεις κάθε φορά που κάνεις εισαγωγή κάποιο καινούργια δομή τότε εφόσον μπορέις να βρείς τη πρώτη εγραφή αν γνωρίζεις την τελευταία και αντίστροφα.
Moi! Δημοσ. 2 Μαΐου 2006 Μέλος Δημοσ. 2 Μαΐου 2006 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?
mamep Δημοσ. 2 Μαΐου 2006 Δημοσ. 2 Μαΐου 2006 otan les ti domi tis praxeis mono i kai tin main? Struct aka Δομή.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.