THMMY.gr

Μαθήματα Βασικού Κύκλου => Δομημένος Προγραμματισμός => Topic started by: c0ndemn3d on April 26, 2012, 18:51:56 pm



Title: [Δομημένος Πρ.] Εργασία C
Post by: c0ndemn3d on April 26, 2012, 18:51:56 pm
Συζήτηση και απορίες για την τρίτη εργασί


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Jim D. Ace on April 26, 2012, 20:34:14 pm
Ο συγκεκριμενος αλγοριθμος βρισκει τη διαδρομη που θελουμε αλλα οχι παντα τη βελτιστη. Εμεις θα πρεπει να τον μετατρεψουμε καπως ωστε να βρισκει τη βελτιστη; :???:


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Exomag on April 26, 2012, 20:48:57 pm
Ο συγκεκριμενος αλγοριθμος βρισκει τη διαδρομη που θελουμε αλλα οχι παντα τη βελτιστη. Εμεις θα πρεπει να τον μετατρεψουμε καπως ωστε να βρισκει τη βελτιστη; :???:

Ο αλγόριθμος πρέπει να ακολουθεί συνέχεια τις διαδρομές με τον μικρότερο αριθμό-βάρος... Αυτό δεν εγγυάται ότι θα φτάσει στον προορισμό, ή ότι είναι ο βέλτιστος δρόμος ακόμα και αν φτάσει...


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Σαλτιμπάγκος on April 29, 2012, 02:56:43 am
Ολα αυτα (το γραφημα, δηλαδη τον αριθμο των κορυφων,τον αριθμο των ακμων που περναν απο καθε κορυφη κ το βαρος τους κτλ) πρεπει να τα βαζει ο χρηστης;;


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Eragon on April 29, 2012, 09:24:18 am
Ολα αυτα (το γραφημα, δηλαδη τον αριθμο των κορυφων,τον αριθμο των ακμων που περναν απο καθε κορυφη κ το βαρος τους κτλ) πρεπει να τα βαζει ο χρηστης;;

τον αριθμο των ακμων που περναν απο καθε κορυφη κ το βαρος τους πρέπει σίγουρα να τα βάζει ο χρήστης.Με τον αριθμό των συνολικών κορυφών υπάρχει ένα μικρό πρόβλημα καθώς σε ορισμένους compilers(π.χ. Visual Studio,Quincy) δεν επιτρέπεται να δηλώσεις πίνακα μεταβλητου μεγέθους.Αν ο compiler δε σου  το επιτρέπει,κανε ένα define και εισαι μια χαρα.Εξάλλου δεν ειναι εκεί η δυσκολία του προγράμματος.
Υ.Γ.O dev το κάνει οπότε dev FTW :D


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: WashAndGo on April 29, 2012, 21:26:52 pm
Υπάρχει κάποιο πρόβλημα με το παράδειγμα στο ετημμυ ή μόνο εγω δε μπορώ να το δω?


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Jim D. Ace on April 29, 2012, 21:28:54 pm
κατεβασε την εργασια απο την ενοτητα Εργασιες


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Exomag on April 29, 2012, 22:33:40 pm
κατεβασε την εργασια απο την ενοτητα Εργασιες

Ή απλά χρησιμοποίησε Internet Explorer :o


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: c0ndemn3d on April 29, 2012, 22:46:09 pm
κατεβασε την εργασια απο την ενοτητα Εργασιες

Ή απλά χρησιμοποίησε Internet Explorer :o


NOOOOOOOOOOOOOOOOOOES


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Jim D. Ace on April 30, 2012, 10:39:41 am
Ο χρηστης ξερει οτι τις κορυφες εμεις τις αριθμουμε απο το 0 εως το Ν-1 ή θα μας δινει αριθμους απο 1 εως Ν; :???:


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: d0do on April 30, 2012, 15:01:33 pm
Υπάρχει κάποιο πρόβλημα με το παράδειγμα στο ετημμυ ή μόνο εγω δε μπορώ να το δω?

 +1


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Niobe on April 30, 2012, 21:28:03 pm
Υπάρχει κάποιο πρόβλημα με το παράδειγμα στο ετημμυ ή μόνο εγω δε μπορώ να το δω?

 +1

κατεβασε την εργασια απο την ενοτητα Εργασιες


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Infinite Loop on May 01, 2012, 15:29:53 pm
κατεβασε την εργασια απο την ενοτητα Εργασιες

Ή απλά χρησιμοποίησε Internet Explorer :o

Για να κατεβασεις την τελευταια εκδοση του Firefox, φυσικα. Ειναι το μονο πραμα για το οποιο ειναι χρησιμος ο Explorer.


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Mr8 on May 01, 2012, 23:43:56 pm
Τι χρειάζεται για την εργασία; Θέλει Pointers; Ξέρει κανείς τι είπε στο μάθημα;


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Exomag on May 01, 2012, 23:53:50 pm
Τι χρειάζεται για την εργασία; Θέλει Pointers; Ξέρει κανείς τι είπε στο μάθημα;

Δεν έχει αναφέρει τίποτα στο μάθημα σχετικά με την 3η εργασία. Επειδή οι τρόποι υλοποίησης είναι πολλοί, το αν θέλει Pointers ή όχι θα εξαρτηθεί από τον τρόπο που θα διαλέξεις για να λύσεις την άσκηση...


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Mr8 on May 02, 2012, 00:13:11 am
Τι προτείνεις εσύ; Με pointers θα το κάνεις;


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Exomag on May 02, 2012, 00:20:18 am
Τι προτείνεις εσύ; Με pointers θα το κάνεις;

Ένας από τους απλούστερους τρόπους είναι με μια αναδρομική συνάρτηση. Σε αυτήν την περίπτωση, οι pointer σου δίνουν την δυνατότητα να αλλάζεις τις τιμές μεταβλητών τους κυρίου προγράμματος (main), μέσω μιας συνάρτησης. Και πάλι, όμως, είναι στην επιλογή του καθενός κατά πόσο θέλει να μπει σε μια τέτοια διαδικασία.

ΥΣ: Οι pointers είναι ένα απο τα χρησιμότερα/σημαντικότερα εργαλεία της C οπότε μπορείς να προσπαθήσεις να λύσεις την άσκηση χρησιμοποιώντας τους, καθαρά για λόγους εξάσκησης...


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Mr8 on May 02, 2012, 00:36:05 am

Ένας από τους απλούστερους τρόπους είναι με μια αναδρομική συνάρτηση. Σε αυτήν την περίπτωση, οι pointer σου δίνουν την δυνατότητα να αλλάζεις τις τιμές μεταβλητών τους κυρίου προγράμματος (main), μέσω μιας συνάρτησης. Και πάλι, όμως, είναι στην επιλογή του καθενός κατά πόσο θέλει να μπει σε μια τέτοια διαδικασία.

ΥΣ: Οι pointers είναι ένα απο τα χρησιμότερα/σημαντικότερα εργαλεία της C οπώτε μπορείς να προσπαθήσεις να λύσεις την άσκηση χρησιμοποιώντας τους, καθαρά για λόγους εξάσκησης...

Σε ευχαριστώ..


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: reservoir dog on May 02, 2012, 13:10:21 pm
γιατι, έχει κάνει στο μάθημα pointers ;


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: autos.gr on May 02, 2012, 13:15:56 pm
συναρτησεις εχει κανει στο μαθημα?


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: reservoir dog on May 02, 2012, 13:27:49 pm
νομιζω ναι


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Jim D. Ace on May 02, 2012, 14:11:56 pm
συναρτησεις εχει κανει στο μαθημα?

ναι


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Exomag on May 02, 2012, 15:18:04 pm
γιατι, έχει κάνει στο μάθημα pointers ;

Ναι


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: alekos789 on May 02, 2012, 19:04:34 pm
Τα δεδομένα για τους δύο πίνακες connection και weight τα δίνει όλα ο χρήστης;


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Exomag on May 02, 2012, 19:06:19 pm
Τα δεδομένα για τους δύο πίνακες connection και weight τα δίνει όλα ο χρήστης;

Δεν διευκρινίζει η άσκηση. Το λογικό είναι να διαβάζονται από τον χρήστη...


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: chris-on fire on May 03, 2012, 18:05:22 pm
τους πινακες πώς θα τους δηλώσουμε σε ό,τι αφορά το μέγεθός τους? θα θεωρησουμε καποια μεγιστη τιμη για τον αριθμο κορυφών ;


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Exomag on May 03, 2012, 18:28:44 pm
τους πινακες πώς θα τους δηλώσουμε σε ό,τι αφορά το μέγεθός τους? θα θεωρησουμε καποια μεγιστη τιμη για τον αριθμο κορυφών ;

Θα θεωρήσεις μια μέγιστη τιμή, και έπειτα θα διαβάζεις από τον χρήστη τον αριθμό των κορυφών που θα είναι μικρότερος από τον μέγιστο που θα έχεις ορίσει. Έπειτα θα χρησιμοποιείς μόνο τις πρώτες Χ γραμμές των πινάκων, όπου Χ ο αριθμός που θα διαβάσεις απο τον χρήστη...


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: xristosak on May 04, 2012, 11:31:10 am
Μπορεί κάποιος με απλά λόγια να μου εξηγήσει τι ακριβώς μπαίνει στους πίνακες weight και connection??Το παράδειγμα δν με διαφώτισε....  :(


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Jim D. Ace on May 04, 2012, 11:58:36 am
και στους 2 πινακες καθε γραμμη συμβολιζει μια κορυφη
connection:δειχνει με ποιες αλλες κορυφες ειναι συνδεδεμενη η καθε κορυφη
weight: δειχνει το βαρος των κορυφων με τις οποιες ειναι συνδεδεμενη η καθε κορυφη





Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: nastia on May 04, 2012, 12:25:00 pm
δηλαδη αμα πχ η 1η κορυφη ειναι συνδεδεμενη με τις 3,4,5 και συνολο εχουμε 10 κορυφες στον πινακα connection θα βαλω στο Α[0][2] το 3, στο Α[0][3] το το 4 κτλ κτλ και στα υπολοιπα που δεν υπαρχει συνδεση θα βαλω 0??η πρεπει να αλλαζω καθε φορα το πληθος στηλων καθε φορα αναλογα με το ποσες κορυφες ενωνεται η κορυφη μου?


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Exomag on May 04, 2012, 12:45:52 pm
δηλαδη αμα πχ η 1η κορυφη ειναι συνδεδεμενη με τις 3,4,5 και συνολο εχουμε 10 κορυφες στον πινακα connection θα βαλω στο Α[0][2] το 3, στο Α[0][3] το το 4 κτλ κτλ και στα υπολοιπα που δεν υπαρχει συνδεση θα βαλω 0??η πρεπει να αλλαζω καθε φορα το πληθος στηλων καθε φορα αναλογα με το ποσες κορυφες ενωνεται η κορυφη μου?

Άμα η 1η κορυφή είναι συνδεδεμένη με τις 3,4,5 τότε θα είναι:
Code:
Α[0][0]=3, δηλαδή η 1η κορυφή (με νούμερο 0) συνδέεται με την 3
Α[0][1]=4
Α[0][2]=5
Τα Α[0][3],...,Α[0][9] δεν χρησιμοποιούνται μιας και η κορυφή 0 συνδέεται μόνο με 3 κορυφές (άρα θα χρησιμοποιούνται μόνο οι 3 πρώτες θέσεις της γραμμής 0).
Άμα θες μπορείς να βάλεις κάποια συγκεκριμένη τιμή στις θέσεις που δεν χρησιμοποιούνται για να σε διευκολύνει...


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: nastia on May 04, 2012, 14:48:25 pm
ευχαριστω πολυ!


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: reservoir dog on May 05, 2012, 01:29:41 am
"Η κορυφή αυτή ενσωματώνεται στη διαδρομή, ενώ η κορυφή εκκίνησης αφαιρείται από το γράφημα"

πως θα 'σβηνουμε απο το γραφημα' την στηλη δηλαδή? αν δεν κανω λαθος δεν εκανε realloc και λοιπά. επομένως πως θα εξασφαλισουμε οτι έχει διαγραφει η στηλη? θα βαλουμε μηδενικα? τι στον μπουτσο?


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: reservoir dog on May 05, 2012, 01:47:43 am
παιζει να κανατε στοιβες στο μαθημα?


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: c0ndemn3d on May 05, 2012, 08:49:24 am
Όχι, δεν κάναμε στοίβες. Εγώ αυτό που έκανα είναι το εξής:

Έφτιαξα έναν πίνακα route[N] με route[0]=start (όπου start η αρχή της διαδρομή, θα το διαβάσεις από τον χρήστη. Τα άλλα στοιχεία τα αρχικοποίησα ως -1.). Κάθε φορά που έβρισκα επόμενο σημείο, το καταχωρούσα στο route. Μετά, χωρίς να αλλάξω τα στοιχεία των δύο αρχικών πινάκων, κάθε φορά που έβρισκα ένα υποψήφιο επόμενο σημείο, κοιτούσα πρώτα αν είχε καταχωρηθεί στον route. Αν ναι, το απέρριπτα.

Ελπίζω να βοήθησα.


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: nastia on May 05, 2012, 11:31:11 am
παιδια εχει πει malloc στο μαθημα?
χρειαζεται βσκ να κανουμε δυναμικη δεσμευση??


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: reservoir dog on May 05, 2012, 11:45:14 am
ευχαριστω μεγαλε


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Jim D. Ace on May 05, 2012, 12:31:39 pm
παιδια εχει πει malloc στο μαθημα?
χρειαζεται βσκ να κανουμε δυναμικη δεσμευση??

δεν εχουμε κανει malloc (οποτε δεν μπορεις να κανεις δυναμικη δεσμευση)


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: NoName on May 05, 2012, 13:18:36 pm
Μπορει καποιος να μου ξεκαθαρισει ποια δεδομενα δινει ο χρηστης??Εχω καταμπερδευτει!!   :-\ :-\


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Exomag on May 05, 2012, 13:18:49 pm
δεν εχουμε κανει malloc (οποτε δεν προτείνεται να κανεις δυναμικη δεσμευση)
Άμα κάποιος θέλει να κάνει δυναμική δέσμευση μνήμης, be my guest...

Μπορει καποιος να μου ξεκαθαρισει ποια δεδομενα δινει ο χρηστης??Εχω καταμπερδευτει!!   :-\ :-\
Ο χρήστης θα δίνει σίγουρα τους πίνακες connection και weight της εκφώνησης. Ανάλογα με τον τρόπο που θα προσεγγίσεις την άσκηση μπορείς να απαιτήσεις από τον χρήστη να δώσει και κάποια ακόμα δεδομένα που θα σε βοηθήσουν στην επίλυση..


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: NoName on May 05, 2012, 13:33:19 pm


Μπορει καποιος να μου ξεκαθαρισει ποια δεδομενα δινει ο χρηστης??Εχω καταμπερδευτει!!   :-\ :-\
Ο χρήστης θα δίνει σίγουρα τους πίνακες connection και weight της εκφώνησης. Ανάλογα με τον τρόπο που θα προσεγγίσεις την άσκηση μπορείς να απαιτήσεις από τον χρήστη να δώσει και κάποια ακόμα δεδομένα που θα σε βοηθήσουν στην επίλυση..


οκ ευχαριστω!


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Sub-Zero on May 05, 2012, 14:19:50 pm
Παιδιά τους πίνακες connection και weight υποτιθεται τους δινει ο χρήστης έτσι απλά ή πρέπει να γίνονται ενα σωρό έλεγχοι από το πρόγραμμα για το πως θα συμπληρωθούν οι πίνακες και για το αν θα συμπληρωθούν σωστά?


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Exomag on May 05, 2012, 15:06:11 pm
Παιδιά τους πίνακες connection και weight υποτιθεται τους δινει ο χρήστης έτσι απλά ή πρέπει να γίνονται ενα σωρό έλεγχοι από το πρόγραμμα για το πως θα συμπληρωθούν οι πίνακες και για το αν θα συμπληρωθούν σωστά?

Το να κάνεις διάφορους ελέγχους δεν είναι απαραίτητο, αλλά είναι δίνει σίγουρα καλύτερη εντύπωση σωστού προγραμματισμού...


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: NoName on May 05, 2012, 16:33:06 pm
Αν μια κορυφη συνδεεται με δυο κορυφες εκ των οποιων απο την μια εχει περασει ηδη (αρα δεν μπορει να ξαναπερασει) αλλα το βαρος της ακμης που τις συνδεει ειναι μικροτερο απο της αλλης που δεν εχει περασει τι πρεπει να κανει το προγραμμα?
Αυτη ειναι μια περιπτωση που δεν τερματιζεται ο αλγοριθμος??


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Niobe on May 05, 2012, 16:37:53 pm
Αν μια κορυφη συνδεεται με δυο κορυφες εκ των οποιων απο την μια εχει περασει ηδη (αρα δεν μπορει να ξαναπερασει) αλλα το βαρος της ακμης που τις συνδεει ειναι μικροτερο απο της αλλης που δεν εχει περασει τι πρεπει να κανει το προγραμμα?
Αυτη ειναι μια περιπτωση που δεν τερματιζεται ο αλγοριθμος??

νομιζω προτεραιοτητα εχει να μην εχει ξαναπερασει απο την κορυφη οποτε θα πας απο την αλλη...

βασικα ο χρηστης δινει την αρχη και ξερει το τελος η απλα ψαχνουμε ποια ειναι η διαδρομη με το μικροτερο κοστος μεχρι να τελειωσουν οι κορυφες? γιατι νομιζω οτι θα πρεπει να υπαρχει και ο στοχος(τελικο σημειο η κατι τετοιο)..


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Exomag on May 05, 2012, 16:40:30 pm
Αν μια κορυφη συνδεεται με δυο κορυφες εκ των οποιων απο την μια εχει περασει ηδη (αρα δεν μπορει να ξαναπερασει) αλλα το βαρος της ακμης που τις συνδεει ειναι μικροτερο απο της αλλης που δεν εχει περασει τι πρεπει να κανει το προγραμμα?
Αυτη ειναι μια περιπτωση που δεν τερματιζεται ο αλγοριθμος??
+1
Η εκφώνηση ξεκαθαρίζει ότι αφού περάσει από μια ακμή, είναι σαν να εξαφανίζεται αυτή η ακμή. Οπότε δεν μπορεί να ξαναπεράσει ποτέ από μια ίδια ακμή. Στο παράδειγμα σου δεν θα τερματιστεί ο αλγόριθμος, απλά θα πάει στην ακμή με το μεγαλύτερο βάρος (που είναι άλλωστε η μόνη του επιλογή αφού απ' την άλλη ακμή έχει ήδη περάσει).

βασικα ο χρηστης δινει την αρχη και ξερει το τελος η απλα ψαχνουμε ποια ειναι η διαδρομη με το μικροτερο κοστος μεχρι να τελειωσουν οι κορυφες? γιατι νομιζω οτι θα πρεπει να υπαρχει και ο στοχος(τελικο σημειο η κατι τετοιο)..
Στην ουσία είναι αυτό που λες. Ξεκινάς από την αρχή που θα προσδιορίσει ο χρήστης και ακολουθείς την διαδρομή με το μικρότερο βάρος. Τώρα, άμα τύχει η κορυφή που θα καταλήξεις στο τέλος να είναι αυτή που ζήτησε ο χρήστης (σπάνιο), έχει καλώς...


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: sg31a on May 05, 2012, 16:43:26 pm
όταν θα ξεκινά το πρόγραμμα, ο χρήστης θα πληκτρολογεί  το Ν για τις ακμές, και έπειτα θα ρωτά το χρήστη για τα βάρη ανάμεσα στις ακμές. Με ποιον τρόπο θα επιλέγετε το πλήθος των ακμών μεταξύ των κορυφών; θα βγαίνει μέσα από κάποιο αλγόριθμο; Θα πρέπει όλες να είναι ενωμένες με κάποιο μοτίβο επανάληψης ή θα δίνει το δικό του σχήμα ο χρήστης;


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Niobe on May 05, 2012, 16:49:32 pm
όταν θα ξεκινά το πρόγραμμα, ο χρήστης θα πληκτρολογεί  το Ν για τις ακμές, και έπειτα θα ρωτά το χρήστη για τα βάρη ανάμεσα στις ακμές. Με ποιον τρόπο θα επιλέγετε το πλήθος των ακμών μεταξύ των κορυφών; θα βγαίνει μέσα από κάποιο αλγόριθμο; Θα πρέπει όλες να είναι ενωμένες με κάποιο μοτίβο επανάληψης ή θα δίνει το δικό του σχήμα ο χρήστης;

θεωρητικα ο χρηστης εχει μπροστα του ενα μοτιβο και εσυ τον βοηθας με το προγραμμα σου (hell yeah!!!!)

βασικα ο χρηστης δινει την αρχη και ξερει το τελος η απλα ψαχνουμε ποια ειναι η διαδρομη με το μικροτερο κοστος μεχρι να τελειωσουν οι κορυφες? γιατι νομιζω οτι θα πρεπει να υπαρχει και ο στοχος(τελικο σημειο η κατι τετοιο)..
Στην ουσία είναι αυτό που λες. Ξεκινάς από την αρχή που θα προσδιορίσει ο χρήστης και ακολουθείς την διαδρομή με το μικρότερο βάρος. Τώρα, άμα τύχει η κορυφή που θα καταλήξεις στο τέλος να είναι αυτή που ζήτησε ο χρήστης (σπάνιο), έχει καλώς...
[/quote]

κορτεσης και προσευχη  :D :D :D


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: A.N. on May 05, 2012, 17:04:39 pm
το γραφημα ,δηλαδη με ποσες ακμες και με ποιο τροπο διασυνδεεται η καθε κορυφη πως θα δινεται? τα δινει ο χρηστης?


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Exomag on May 05, 2012, 17:30:01 pm
το γραφημα ,δηλαδη με ποσες ακμες και με ποιο τροπο διασυνδεεται η καθε κορυφη πως θα δινεται? τα δινει ο χρηστης?

Ο χρήστης θα δίνει σίγουρα τους πίνακες connection και weight της εκφώνησης. Ανάλογα με τον τρόπο που θα προσεγγίσεις την άσκηση μπορείς να απαιτήσεις από τον χρήστη να δώσει και κάποια ακόμα δεδομένα που θα σε βοηθήσουν στην επίλυση..
Δεν κάνει κακό να κοιτάμε και τα προηγούμενα post ;)


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: 020400e on May 05, 2012, 18:09:47 pm
Άμα η διαδρομή με το ελάχιστο κόστος είναι παραπάνω από μία ποια θα ακολουθήσει ο αλγόριθμος?


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Exomag on May 05, 2012, 18:46:28 pm
Άμα η διαδρομή με το ελάχιστο κόστος είναι παραπάνω από μία ποια θα ακολουθήσει ο αλγόριθμος?

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


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Sub-Zero on May 05, 2012, 19:59:01 pm
Παιδιά έχει σημασία αν ο χρήστης δίνει τις κορυφές σε αύξουσα σειρά όπως ζητάει η εκφώνηση; Δεν νομίζω να παίζει ρόλο στο αποτέλεσμα...Ρωτάω γιατί άμα ο χρήστης τις δίνει κατά τύχη σημαίνει ότι πρέπει να παίξει ταξινόμηση και στους δυο πίνακες...


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Exomag on May 05, 2012, 20:09:43 pm
Παιδιά έχει σημασία αν ο χρήστης δίνει τις κορυφές σε αύξουσα σειρά όπως ζητάει η εκφώνηση; Δεν νομίζω να παίζει ρόλο στο αποτέλεσμα...Ρωτάω γιατί άμα ο χρήστης τις δίνει κατά τύχη σημαίνει ότι πρέπει να παίξει ταξινόμηση και στους δυο πίνακες...

Η ταξινόμηση γιατί χρειάζεται; :???:


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: zidan on May 05, 2012, 20:25:29 pm
αν πχ. μια κουριφη εχει 3 στοιχεια κ αλλη εχει 4,πχ.
2 3 5 4
5 7 8
πως ειναι δυνατον ο χρηστης για να μεταβει στη αλλη γραμμη να αφησει κοινις τις υποιλοιπες θεσεις του πονακα?..εχω κολλησει........



Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Sub-Zero on May 05, 2012, 20:38:07 pm
Παιδιά έχει σημασία αν ο χρήστης δίνει τις κορυφές σε αύξουσα σειρά όπως ζητάει η εκφώνηση; Δεν νομίζω να παίζει ρόλο στο αποτέλεσμα...Ρωτάω γιατί άμα ο χρήστης τις δίνει κατά τύχη σημαίνει ότι πρέπει να παίξει ταξινόμηση και στους δυο πίνακες...

Η ταξινόμηση γιατί χρειάζεται; :???:

αμα δεν δώσεις τις τιμές σε αύξουσα σειρά κάθε γραμμή του πίνακα θα είναι "ανακατεμένη" π.χ αν στην γραμμη 0, δώσεις πρώτα την κορυφή 2 και μετά την 1 ας πούμε θα είναι connection[0][0]=2 και connection[0][1]=1

αν πχ. μια κουριφη εχει 3 στοιχεια κ αλλη εχει 4,πχ.
2 3 5 4
5 7 8
πως ειναι δυνατον ο χρηστης για να μεταβει στη αλλη γραμμη να αφησει κοινις τις υποιλοιπες θεσεις του πονακα?..εχω κολλησει........



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


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: zidan on May 05, 2012, 20:46:05 pm
Δηλαδη..................?


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Sub-Zero on May 05, 2012, 20:49:26 pm
Δηλαδη..................?

Εγώ ας πούμε αρχικά γέμισα και τους δυο πίνακες με -1, αφού δεν μπορεί να υπάρξει κορυφή -1 ή βάρος -1, οπότε ο αριθμός αυτός αντιστοιχεί στο κενό. Μετά όταν χρειαστεί να προσπελάσεις το connection ή το weight απλά θα του βάλεις μια συνθήκη και θα του πεις αν βρει το -1 να το αγνοήσει


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: zidan on May 05, 2012, 20:57:59 pm
προσπαθω να το κανω με ενα τροπο ετσι ωστε το προγραμμα να ζηταει απο το χρηστη  τις κουρηφες που αντιστοιχουν στη ταδε  κουρηφη,αλλα ο χρηστης δεν μπορει να μεταβει στη αλλη γραμμη αν δε γεμισει τη προηγουμενη...TRAGIC


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Sub-Zero on May 05, 2012, 21:01:53 pm
προσπαθω να το κανω με ενα τροπο ετσι ωστε το προγραμμα να ζηταει απο το χρηστη  τις κουρηφες που αντιστοιχουν στη ταδε  κουρηφη,αλλα ο χρηστης δεν μπορει να μεταβει στη αλλη γραμμη αν δε γεμισει τη προηγουμενη...TRAGIC

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


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Exomag on May 05, 2012, 21:02:47 pm
προσπαθω να το κανω με ενα τροπο ετσι ωστε το προγραμμα να ζηταει απο το χρηστη  τις κουρηφες που αντιστοιχουν στη ταδε  κουρηφη,αλλα ο χρηστης δεν μπορει να μεταβει στη αλλη γραμμη αν δε γεμισει τη προηγουμενη...TRAGIC

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

πχ:
Code:
   for (i=0;i<n;i++){
        printf("\nNumber of Points (%d) is connected with = ",i);
        scanf("%d",&points[i]);
        for (j=0;j<points[i];j++){
                printf("Point Number %d that (%d) is connected with = ",j+1,i);
                scanf("%d",&connection[i][j]);
                printf("Weight of Point Number %d that (%d) is connected with = ",j,i);
                scanf("%d",&weight[i][j]);
        }
   }


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: zidan on May 05, 2012, 21:21:08 pm
δεν παιρνει πολυ χωρο ετσι????????????


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Exomag on May 05, 2012, 21:57:57 pm
δεν παιρνει πολυ χωρο ετσι????????????

Η εργασία στο σύνολο της εννοείς; Προσωπικά μου πήρε ~85 σειρές κώδικα. Το νούμερο θα πέζει λογικά 50 σειρές πάνω/κάτω...


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: zidan on May 05, 2012, 22:45:07 pm
βρηκα αυτη τη πατεντα αλλα κατι δεν μου κολλαει.....
for(i=0;i<n;i++)
{

printf("dwste tis korefes pou einai me tin korifh %d ",i);
for(j=0;j<n-1;j++)
{
connection[j]=-1;

scanf("%d",&connection[j]);

if(connection[j]>-1)
break;
}

}


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: zidan on May 05, 2012, 22:47:51 pm
εννοω αν δωσω παρα πανω απο ενα στοιχειο τοτε πηδαει μια γραμη


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Exomag on May 05, 2012, 22:55:08 pm
εννοω αν δωσω παρα πανω απο ενα στοιχειο τοτε πηδαει μια γραμη
Με μιά μικρή διόρθωση, νομίζω, δουλεύει μια χαρά
Code:
for(i=0;i<n;i++)
{

printf("dwste tis korefes pou einai me tin korifh %d ",i);
printf("\ndwste -1 an den uparxoun alles korifes");
for(j=0;j<n-1;j++)
{
connection[i][j]=-1;

scanf("%d",&connection[i][j]);

if(connection[i][j]==-1)
break;
}

}


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: A.N. on May 06, 2012, 15:29:15 pm
μπορει καποιος να βοηθησει στο σημειο που ο χρηστης δινει το σημειο εκινησης, πως θα ξεκιναω απο αυτη την γραμμη του πινακα και πως θα το γραψω στον αλγοριθμο?


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: papatasoylis on May 06, 2012, 15:39:46 pm
Οταν στέλνουμε εργασίες θα πρέπει να αφαιρούμε απο πάνω το include "stdafx.h"? Εχει πει κάτι τέτοιο ο Κορτέσης?


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Reiner on May 06, 2012, 16:06:40 pm
Πόσο ελαστικός είναι ο καθηγητής στο να την παραδόσουμε μέχρι αύριο το μεσημέρι;


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: Marco on May 06, 2012, 16:37:16 pm
Πόσο ελαστικός είναι ο καθηγητής στο να την παραδόσουμε μέχρι αύριο το μεσημέρι;

Νομίζω δε γίνεται γιατί εξαφανίζεται από την ενότητα "εργασίες" του ethmmy.


Title: Re: [Δομημένος Πρ.] Εργασία C
Post by: papatasoylis on May 06, 2012, 16:38:50 pm
+1 με τν προηγούμενο.Απαντήστε ρε σε αυτο που ρωτάω!