daidalus Δημοσ. 29 Νοεμβρίου 2002 Δημοσ. 29 Νοεμβρίου 2002 Καλησπέρα!Στα πλάισια ενός μαθήματος της σχολής μου έπρεπε να υλοποιήσω ένα πρόγραμμα που θα έκανε τα εξής: -Δοθέντος ενός αρχείου σαν το παρακάτω έπρεπε χρησιμοποιώντας τους αλγόριθμους Depth First Search και Breadth First Search να βρώ την συντομότερη διαδρομή για την διάσχιση ενός λαβυρίνθου 8 6 7 1 4 6 1 1 1 1 1 1 1 0 1 0 1 1 1 0 0 0 0 1 1 1 0 1 0 0 1 0 0 1 0 1 1 0 0 0 0 1 0 0 1 0 0 1 1 1 1 1 1 1 -Οι 2 τιμές στην 1η γραμμή δίνουν τις διαστάσεις του πίνακα στον οποίο θα αποθηκεύσω τον λαβύρινθο -Οι 2 τιμές στην 2η γραμμή δίνουν την είσοδο του λαβυρίνθου ενώ στη 3η γραμμή δίνουν την έξοδο του λαβυρίνθου -Στο υπόλοιπο αρχείο φαίνεται η διάταξη του λαβυρίνθου που αναπαρίσταται με 0 και 1(0:κενό & 1:φράγμα) Το πρόγραμμα υλοποιήθηκε αλλά κατα την διάρκεια της εξέτασης του προγράμματος απέτυχε!Θα ήθελα λοιπόν να ζητήσω την βοήθεια σας γιατι εγώ δεν βρίσκω άλλα λάθη!Οποιος λοιπόν μπορεί και έχει την διάθεση και τον χρόνο να ασχοληθεί με αυτό ας μου πεί να του στείλω το source ή ακόμα και το εκτελέσιμο. Το μέγεθος του προγράμματος (περίπου 500 γραμμές) δεν μου επιτρέπει να το postαρω.Πολύ θα το ήθελα αλλα ο moderator μάλλον θα δυσαρεστηθεί αν το κάνω! :smirk: Το πρόγραμμα υλοποιήθηκε στη Borland C++ 5.02 σε περιβάλλον WinXP.Το mail μου είναι [email protected] Ευχαριστώ!
Dvs Δημοσ. 2 Δεκεμβρίου 2002 Δημοσ. 2 Δεκεμβρίου 2002 auto to programma to eixe valei i EPI prin 2-3 xronia to eixa kanei se VB tote! Me anadromi tha to kaneis - tha elenxei olous tous pithanes diadromes kai tha krataei panta tin veltisti Se poia sxoli pigeneis?
Alexandroz Δημοσ. 2 Δεκεμβρίου 2002 Δημοσ. 2 Δεκεμβρίου 2002 <blockquote><font class="small">Quote daidalus:</font><hr> Το πρόγραμμα υλοποιήθηκε αλλά κατα την διάρκεια της εξέτασης του προγράμματος απέτυχε!<hr /></blockquote> Mallon petyxes 8a elega! An 8es steile tipota sto mail moy kai 8a to koita3w.
daidalus Δημοσ. 2 Δεκεμβρίου 2002 Μέλος Δημοσ. 2 Δεκεμβρίου 2002 EPI?Τι είναι η EPI? Anyway το πρόγραμμα χρησιμοποιεί κλασικές συναρτήσεις διαχείρισης στοίβας και ουράς ενώ η βασική συνάρτηση πάει κάπως έτσι: <pre><font class="small">code:</font><hr> Algorithm DFS void depthFirstSearch(int xI,int yI,int xO,int yO,int **currentMaze,int rows,int columns){ int current_x; int current_y; int previousCurrent_x=-1; int previousCurrent_y=-1; bool flag=true; //SFrontier is empty pushToSFrontier((xI-1),(yI-1)); topOfSFrontier(current_x,current_y); while((current_x!=(xO-1) || current_y!=(yO-1)) && flag){ popFromSFrontier(); if(!memberOfClosed(current_x,current_y)){ expandCurrentState(current_x,current_y,previousCurrent_x,previousCurrent_y,currentMaze,rows,columns); uniteSFrontierWithChildrenStates(); pushToClosed(current_x,current_y); previousCurrent_x=current_x; previousCurrent_y=current_y; } if(SFrontierEmpty()) flag=false; else topOfSFrontier(current_x,current_y); } } </pre><hr> Το previousCurrent_x και previousCurrent_y κρατάει την προηγούμενη τιμή που έλεγξε,το current_x,current_y την τιμή που ελέγχει τώρα ενώ τα xI,yI,xO,yO είναι η αρχική και τελική κατάσταση του λαβυρίνθου έτσι όπως τις διαβάζει από το αρχείο(όχι όπως αναπαριστούνται στον δισδιάστατο πίνακα!). Το closed κρατάει μια διαδρομή όχι την βέλτιστη όμως...Πως γίνεται από το closed σύνολο να πάρω την διαδρομή χωρίς όμως τα αδιέξοδα που υπάρχουν μέσα σε αυτό? Αν θυμάσαι τον ψευδοκώδικα please στείλε μου το ok? Η σχολή μου όπως και του Alexandroz είναι η Βιομηχανική Πληροφορική του ΤΕΙ Καβάλας. Προς Alexandroz : Το βράδυ θα στο στείλω και ελπίζω να βρείς χρόνο να το κοιτάξεις.Thanks!
HaPagan Δημοσ. 2 Δεκεμβρίου 2002 Δημοσ. 2 Δεκεμβρίου 2002 daidalus άμα το τελειώσεις αν θές , δώσε μου το εκτελέσιμο ή και τον κώδικα για να το βάλουμε στο insomniaprogs.tk!
Dvs Δημοσ. 2 Δεκεμβρίου 2002 Δημοσ. 2 Δεκεμβρίου 2002 http://www.epy.gr/ Isos na exoun kratisei ta palia themata, den xero (exoun kai liseis) Vgainei kai xoris stoiva btw, nomizo exo tis liseis kapou - tis theleis?
daidalus Δημοσ. 3 Δεκεμβρίου 2002 Μέλος Δημοσ. 3 Δεκεμβρίου 2002 Αν μπορείς στείλε μου τις λύσεις.Στο EPY δεν βρήκα κάτι..Thanks!
Dvs Δημοσ. 4 Δεκεμβρίου 2002 Δημοσ. 4 Δεκεμβρίου 2002 tha psaxo na to vro kai tha sto steilo to vradi alla einai me anadromi kai oxi me stoiva
Alexandroz Δημοσ. 5 Δεκεμβρίου 2002 Δημοσ. 5 Δεκεμβρίου 2002 <blockquote><font class="small">Quote daidalus:</font><hr> Το closed κρατάει μια διαδρομή όχι την βέλτιστη όμως...Πως γίνεται από το closed σύνολο να πάρω την διαδρομή χωρίς όμως τα αδιέξοδα που υπάρχουν μέσα σε αυτό? Αν θυμάσαι τον ψευδοκώδικα please στείλε μου το ok? <hr /></blockquote> Loipon, to closed den krataei kamia veltisth diadromh, apla krataei ayta poy exeis hdh episkeytei. Dhladh, to closed sthn oysia krataei ayta poy exoyn apokleistei ws epomenes katastaseis (gia na mhn peseis se atermona vroxo). H taxyterh diadromh den apo8hkeytetai poy8ena (sthn oysia esy den thn 8es!). Apla parathreis pws paei o algori8mos kai se poies periptwseis einai kalyteros o dfs apo ton bfs. Me mia prwth matia, h synarthsh exei swsth logikh, opote sigoyrepsoy an oi klasikes synarthseis diaxeirhshs stoivas/oyras doyleyoyn swsta. 8a to koita3w kai egw... Pros Dvs -> O daidalus den psaxnei apla gia mia lysh, alla gia tis lyseis poy prosferoyn oi sygkekrimenoi algori8moi, oi opoioi e3' opismoy xrhsimopoioyn stoives kai oyres.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.