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

Help!Testers wanted για πρόγραμμα C++


daidalus

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

Δημοσ.

Καλησπέρα!Στα πλάισια ενός μαθήματος της σχολής μου έπρεπε να υλοποιήσω ένα πρόγραμμα που θα έκανε τα εξής:

 

-Δοθέντος ενός αρχείου σαν το παρακάτω έπρεπε χρησιμοποιώντας τους αλγόριθμους 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]

Ευχαριστώ!

Δημοσ.

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?

Δημοσ.

<blockquote><font class="small">Quote daidalus:</font><hr>

Το πρόγραμμα υλοποιήθηκε αλλά κατα την διάρκεια της εξέτασης του προγράμματος απέτυχε!<hr /></blockquote>

 

Mallon petyxes 8a elega! :P

 

An 8es steile tipota sto mail moy kai 8a to koita3w.

Δημοσ.

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!

 

Δημοσ.

<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.

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

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

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