• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 17, 2025, 12:34:07 pm

Login with username, password and session length
Links
  Thmmy.gr portal
   Forum
   Downloads
   Ενεργ. Λογαριασμού
   Επικοινωνία
  
  Χρήσιμα links
   Σελίδα τμήματος
   Βιβλιοθήκη Τμήματος
   Elearning
   Φοιτητικά fora
   Πρόγραμμα Λέσχης
   Πρακτική Άσκηση
   Ηλεκτρονική Εξυπηρέτηση Φοιτητών
   Διανομή Συγγραμμάτων
   Ψηφιακό Καταθετήριο Διπλωματικών
   Πληροφορίες Καθηγητών
   Instagram @thmmy.gr
   mTHMMY
  
  Φοιτητικές Ομάδες
   ACM
   Aristurtle
   ART
   ASAT
   BEAM
   BEST Thessaloniki
   EESTEC LC Thessaloniki
   EΜΒ Auth
   IAESTE Thessaloniki
   IEEE φοιτητικό παράρτημα ΑΠΘ
   SpaceDot
   VROOM
   Panther
  
Πίνακας Ελέγχου
Welcome, Guest. Please login or register.
June 17, 2025, 12:34:07 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Αποτελέσματα Εξεταστικής ...
by george14
[Today at 12:08:25]

[ΨEE] Γενικές απορίες και...
by Juror8
[Today at 12:06:57]

Ισραήλ - Ιράν: Πόλεμος στ...
by okan
[Today at 02:33:21]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[Today at 02:29:21]

[Οργάνωση Υπολογιστών] Γε...
by RAFI
[June 16, 2025, 22:46:54 pm]

[Σ.Π.Η.Ε.] Γενικές απορίε...
by Nikos_313
[June 16, 2025, 19:49:00 pm]

[ΘΤΠΑ] Γενικές απορίες κα...
by Nikos_313
[June 16, 2025, 16:56:56 pm]

[Εφ.Θερμοδυναμική] Γενικέ...
by Λαμπτήρας
[June 16, 2025, 15:55:08 pm]

[Αρχές Οικονομίας] Να επι...
by _Trob
[June 16, 2025, 13:28:21 pm]

[Σ.Α.Π.Γ.] Εργασία 2025
by Nikos_313
[June 16, 2025, 12:13:45 pm]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by George_RT
[June 16, 2025, 10:22:18 am]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[June 16, 2025, 01:56:37 am]

Αντικατάστασης πυκνωτή σε...
by nmpampal
[June 15, 2025, 16:25:56 pm]

[Σ.Π.Η.Ε.] Παλιά θέματα -...
by nmpampal
[June 15, 2025, 06:43:15 am]

Το thmmy.gr στο instagram...
by Mr Watson
[June 15, 2025, 00:50:23 am]

[Λογισμός ΙΙ] Απορίες σε...
by el mariachi
[June 14, 2025, 20:47:07 pm]

ΠΡΟΣΟΧΗ στο ανέβασμα θεμά...
by tzortzis
[June 14, 2025, 16:54:08 pm]

Ρυθμίσεις Θεμάτων της Ανώ...
by el mariachi
[June 14, 2025, 11:56:45 am]

Πότε θα βγει το μάθημα; -...
by Nikos_313
[June 14, 2025, 10:00:55 am]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[June 14, 2025, 09:58:14 am]
Στατιστικά
Members
Total Members: 9961
Latest: Poli
Stats
Total Posts: 1426686
Total Topics: 31710
Online Today: 169
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 60
Guests: 94
Total: 154
Joannapet
vas22
tzortzis
iJasonOP
superkolios
george14
jimalexoud
chaniotism
DimKaratzas
Summand
George_RT
makato
ZontanosThrylos
menelaras
ppoug
glavdakis
eplysia
Agnotobouri
kakousios
thomassamaras
Yamal
chrichan
Filpan10
acolak
kap
programmer2004
agapi
TheBadSalesman
Emilios
Vassoula
Solon
mpaltzak
Nikos_313
idchatzi
pliroforikarios
athena_apo
stavros0201
kostas1507
Isidora
witchingHour
hevidis3524
Ioannis Apostolikas
mrotskos
nataliakara
_iliaskaz_
hacky
dimitire
rafail zisiadis
Xris
chrisdardas
antontsiorvas
tasos gourd
Saint_GR
kvas
Limpolits
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads με προσοχή στα ονόματα των αρχείων!

Νέα!
Επίσημη ενημέρωση για Αντιστοίχηση Μαθημάτων ΝΠΣ με ΠΠΣ και η συζήτηση στο forum.
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 1ο Εξάμηνο > Δομημένος Προγραμματισμός (Moderators: Tasos Bot, tzortzis, Nekt) > [Δομημένος Πρ.]Εργασία Ε
0 Members and 1 Guest are viewing this topic.
Pages: [1] 2 Go Down Print
Author Topic: [Δομημένος Πρ.]Εργασία Ε  (Read 3134 times)
AckermanMik
Veteran
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Female
Posts: 1627

Όμορφη μικρή κουκλίτσα


View Profile
[Δομημένος Πρ.]Εργασία Ε
« on: April 25, 2013, 17:18:49 pm »

Άσκηση  Ε Λήξη:19/5

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

Να γραφεί το πρόγραμμα που να υλοποιεί τον πιο πάνω αλγόριθμο.

Για την εισαγωγή ενός γραφήματος, που αποτελείται από Ν κορυφές, να αριθμούνται οι κορυφές από το 0 έως το Ν-1. Στη συνέχεια να ορίζεται o πίνακας connection, δύο διαστάσεων, σε κάθε γραμμή του οποίου να αντιστοιχεί και μια κορυφή του γραφήματος. Κάθε γραμμή του πίνακα να έχει τόσες θέσεις όσες είναι και οι κορυφές του γραφήματος που συνδέονται με την κορυφή στην οποία αντιστοιχεί η γραμμή (βαθμός της κορυφής). Στις θέσεις αυτές να καταχωρούνται οι αύξοντες αριθμοί των κορυφών που συνδέονται με την κορυφή που αντιστοιχεί στη γραμμή. Για την καταχώρηση των βαρών των ακμών που συνδέουν τις κορυφές να ορίζεται o πίνακας  weights, όμοιος με τον πίνακα connection, στον οποίο, σε κάθε γραμμή, να αντιστοιχεί επίσης μια κορυφή. Στον πίνακα αυτόν να έχουν αντικατασταθεί οι αύξοντες αριθμοί των κορυφών που αναγράφονται στον πίνακα connection με τα βάρη των ακμών που τις συνδέουν με την κορυφή στην οποία αντιστοιχεί η γραμμή στην οποία βρίσκονται.

Στο πρόγραμμα να ορίζεται η συνάρτηση void next_vertex(…) η οποία να δέχεται τον αύξοντα αριθμό της κορυφής εκκίνησης και να βρίσκει την επόμενη κορυφή του μονοπατιού σύμφωνα με τον πιο πάνω αλγόριθμο. Στη συνέχεια, μέσα από μια recursion διαδικασία, να καλεί τον εαυτό της δίνοντας ως κορυφή εκκίνησης την κορυφή που εντόπισε ως επόμενη κορυφή για το μονοπάτι.

Το πρόγραμμα αφού διαβάσει τον αριθμό Ν των κορυφών του γραφήματος και τον βαθμό της κάθε κορυφής, να δεσμεύει δυναμικά την ελάχιστη απαραίτητη μνήμη για την καταχώρηση των πινάκων που ορίζουν το γράφημα και να διαβάζει και να καταχωρεί τις αντίστοιχες τιμές στους πίνακες. Στη συνέχεια να διαβάζει τον αύξοντα αριθμό για την κορυφή εκκίνησης και αφού καλέσει τη συνάρτηση next_vertex(), να τυπώνει το μονοπάτι που βρέθηκε καθώς και το αντίστοιχο κόστος. Στην περίπτωση που ο αλγόριθμος δε μπόρεσε να περάσει το μονοπάτι από όλες τις κορυφές του γραφήματος να τυπώνεται αντίστοιχο μήνυμα.
« Last Edit: April 25, 2013, 17:31:44 pm by Psofia Psira » Logged

Quote from: opcode on September 26, 2015, 16:01:50 pm
Μια χαρά βγαίνουν όλα ... αν έχεις όρεξη για διάβασμα φυσικά. Ααα και Ευφυή Συστήματα Ρομπότ μην ξεχάσεις. Σπανίως βλέπεις τα δύο σμαράγδια της σχολής να διδάσκουν μαζί ένα μάθημα αυτομάτου ελέγχου. Είναι σαν να σου διδάσκει αρχιτεκτονική υπολογιστών ο Turing με τον Von Neumann.  Cheesy
TechSupport
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Female
Posts: 538


Sometimes you just need a rr.


View Profile
Re: [Δομημένος Πρ.]Εργασία Ε
« Reply #1 on: May 15, 2013, 17:41:45 pm »

Ο βαθμός κάθε κορυφής είναι ο αριθμός των κορυφών που μπορεί να συνδεθεί η κάθε κορυφή;  Huh
Ουπς,το γράφει πιο πάνω!  Smiley
« Last Edit: May 15, 2013, 18:28:25 pm by poulaki_tsiou » Logged
PureForm
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 520


View Profile
Re: [Δομημένος Πρ.]Εργασία Ε
« Reply #2 on: May 16, 2013, 00:05:54 am »

αν εχω ηδη καταχωρησει οτι μια κορυφη α συνδεεται με μια αλλη κορυφη β πωσ θα τοποθετω αυτοματα,χωρισ να χρειαστει να ξαναδιαβασω, οτι η κορυφη β οτι συνδεεται με την α,αφου τωρα ο πιανακασ μασ δεν εχει συγκεκριμενο μεγεθοσ?
η απλα θα διαβαζω τισ τιμεσ και παντα ο χρηστησ θα πρεπει να δινει τιμη που σχετιζεται με την προηγουμενη?
« Last Edit: May 16, 2013, 00:08:24 am by PureForm » Logged
Αλντεμπαράν
Veteran
Αbsolute ΤΗΜΜΥ.gr
******
Posts: 2963


גם זה יעבור


View Profile
Re: [Δομημένος Πρ.]Εργασία Ε
« Reply #3 on: May 16, 2013, 20:28:36 pm »

Η υλοποίηση της διαγραφής της κορυφής που μόλις προσπεράστηκε μπορεί να γίνει χωρίς την τροποποίηση των πινάκων connection και weight??Αν πάλι είναι αναγκαστικός αυτός ο τρόπος τότε πως στην ευχή θα χειριστούμε τα ορίσματα της συνάρτησης που θα'ναι τριπλοί pointers ???  Shocked Shocked
Logged

http://de.academic.ru/pictures/dewiki/75/Kemenche-Salut_de_trebizonde-Danse_aux_sabres.jpg
PureForm
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 520


View Profile
Re: [Δομημένος Πρ.]Εργασία Ε
« Reply #4 on: May 16, 2013, 22:16:01 pm »

τι εννοει με αυτο που λεει να διαβαζει τον αυξοντα αριθμο τησ κορυφησ εκκινησησ?
το αυξοντασ που κολλαει αφου οπωσ βλεπω στο παραδειγμα διαβαζει μια κορυφη εκκινησησ και δεν υπαρχει κατι αυξων μετα
και κατι ακομα πω γινεται σε μια συναρτηση void να κανουμε αναδρομη,αμα ηταν συναρτηση int  θα μπορουσα να κανω  με return αλλα τωρα στην void δεν γινεται να χρησιμοποιησω το return next_vertex()

ps:γιατι τοσο μικρη συμμετοχη σε αυτη την ασκση ? Tongue
« Last Edit: May 16, 2013, 22:47:55 pm by PureForm » Logged
TechSupport
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Female
Posts: 538


Sometimes you just need a rr.


View Profile
Re: [Δομημένος Πρ.]Εργασία Ε
« Reply #5 on: May 17, 2013, 16:15:58 pm »

Quote from: PureForm on May 16, 2013, 00:05:54 am
αν εχω ηδη καταχωρησει οτι μια κορυφη α συνδεεται με μια αλλη κορυφη β πωσ θα τοποθετω αυτοματα,χωρισ να χρειαστει να ξαναδιαβασω, οτι η κορυφη β οτι συνδεεται με την α,αφου τωρα ο πιανακασ μασ δεν εχει συγκεκριμενο μεγεθοσ?
η απλα θα διαβαζω τισ τιμεσ και παντα ο χρηστησ θα πρεπει να δινει τιμη που σχετιζεται με την προηγουμενη?
μήπως πρέπει να κάνουμε ένα είδος αναζήτησης σύμφωνα με την οποία αν π.χ. είμαστε στην κορυφή με αριθμό 4,να κάνουμε μια αναζήτηση από 0-3 και αν τη βρίσκουμε σε κάποια κορυφή από αυτές να τις βάζουμε στη γραμμή της  4.Αν δούμε πως οι στήλες έχουν συμπληρωθεί να πηγαίνουμε στην επόμενη, αλλιώς να διαβάζουμε κορυφές που να είναι μεγαλύτερες του 4 και μικρότερες από το Ν-1.επισης,τις κορυφες που διαβαζουμε  πρεπει να τις κανουμε και ταξινομηση;
Logged
PureForm
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 520


View Profile
Re: [Δομημένος Πρ.]Εργασία Ε
« Reply #6 on: May 17, 2013, 20:53:32 pm »

Quote
επισης,τις κορυφες που διαβαζουμε  πρεπει να τις κανουμε και ταξινομηση;
αυτο εγω το εχω κανει
τωρα οσα αναφορα το αλλο θεμα,με συζητησεισ με αλλα παιδια απο την σχολη καταλαβα οτι δεν χρειαζεται να δωσουμε βαση τοσο σε αυτο δηδλαδη υποτιθεται οτι μασ δινει σςστεσ τιμεσ ο χρηστησ και οχι οτι νανε
οτι γινετε γινετε παντωσ
« Last Edit: May 17, 2013, 20:58:00 pm by PureForm » Logged
George_RT
Veteran
Εθισμένος στο ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 831



View Profile
Re: [Δομημένος Πρ.]Εργασία Ε
« Reply #7 on: May 18, 2013, 00:58:56 am »

Quote from: PureForm on May 16, 2013, 22:16:01 pm
τι εννοει με αυτο που λεει να διαβαζει τον αυξοντα αριθμο τησ κορυφησ εκκινησησ?
το αυξοντασ που κολλαει αφου οπωσ βλεπω στο παραδειγμα διαβαζει μια κορυφη εκκινησησ και δεν υπαρχει κατι αυξων μετα
και κατι ακομα πω γινεται σε μια συναρτηση void να κανουμε αναδρομη,αμα ηταν συναρτηση int  θα μπορουσα να κανω  με return αλλα τωρα στην void δεν γινεται να χρησιμοποιησω το return next_vertex()

ps:γιατι τοσο μικρη συμμετοχη σε αυτη την ασκση ? Tongue

Για να επιστρέψεις τιμές από μια συνάρτηση void χρησιμοποιείς τους pointers (πάνω σε αυτό ήταν και η προηγούμενη άσκηση που κάναμε)
return σε void συνάρτηση δεν μπορείς να χρησιμοποιήσεις


Quote from: PureForm on May 16, 2013, 00:05:54 am
αν εχω ηδη καταχωρησει οτι μια κορυφη α συνδεεται με μια αλλη κορυφη β πωσ θα τοποθετω αυτοματα,χωρισ να χρειαστει να ξαναδιαβασω, οτι η κορυφη β οτι συνδεεται με την α,αφου τωρα ο πιανακασ μασ δεν εχει συγκεκριμενο μεγεθοσ?
η απλα θα διαβαζω τισ τιμεσ και παντα ο χρηστησ θα πρεπει να δινει τιμη που σχετιζεται με την προηγουμενη?

Έτσι όπως είναι "στημένη" η άσκηση όπως θα δεις και από το παράδειγμα η κάθε γραμμή του κώδικα αντιστοιχεί και σε μια κορυφή και τα στοιχειά της γραμμής αντιστοιχούν στο με ποιες κορυφές συνδέεται αυτή η κορυφή όποτε η λύση στο πρόβλημα σου είναι μέσα στο πινάκα (connection )  δεν χρειάζεται να κάνεις κάτι περεταίρω
Logged
jordan_S
Ανερχόμενος/Ανερχόμενη
**
Posts: 67


View Profile
Re: [Δομημένος Πρ.]Εργασία Ε
« Reply #8 on: May 18, 2013, 09:12:24 am »

Η free αποδεσμεύει ολόκληρους πίνακες ή και στοιχεία πινάκων?Εκεί που λέει δηλαδή να αφαιρείται η κορυφή εκκίνησης γίνεται με free ή με άλλο τρόπο ?
Logged
George_RT
Veteran
Εθισμένος στο ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 831



View Profile
Re: [Δομημένος Πρ.]Εργασία Ε
« Reply #9 on: May 18, 2013, 10:16:32 am »

Quote from: jordan_S on May 18, 2013, 09:12:24 am
Η free αποδεσμεύει ολόκληρους πίνακες ή και στοιχεία πινάκων?Εκεί που λέει δηλαδή να αφαιρείται η κορυφή εκκίνησης γίνεται με free ή με άλλο τρόπο ?

Η free απελευθερώνει χώρο που δεσμευτικέ δυναμικά δεν μπορείς να διαγράψεις της κορυφές με αυτόν τον τρόπο
Logged
jordan_S
Ανερχόμενος/Ανερχόμενη
**
Posts: 67


View Profile
Re: [Δομημένος Πρ.]Εργασία Ε
« Reply #10 on: May 18, 2013, 12:29:15 pm »

Quote from: George_RT on May 18, 2013, 10:16:32 am
Quote from: jordan_S on May 18, 2013, 09:12:24 am
Η free αποδεσμεύει ολόκληρους πίνακες ή και στοιχεία πινάκων?Εκεί που λέει δηλαδή να αφαιρείται η κορυφή εκκίνησης γίνεται με free ή με άλλο τρόπο ?

Η free απελευθερώνει χώρο που δεσμευτικέ δυναμικά δεν μπορείς να διαγράψεις της κορυφές με αυτόν τον τρόπο
ευχαριστω.και πως γινεται τελικα η διαγραφη των κορυφων?
Logged
reservoir dog
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Posts: 540



View Profile
Re: [Δομημένος Πρ.]Εργασία Ε
« Reply #11 on: May 18, 2013, 19:26:21 pm »

δηλαδη και το κοστος που θα πρεπει να τυπωσουμε ειναι και αυτο Pointer αφου η συναρτηση δεν μπορει να επιστρεψει τιμες?
Logged
Μουργόλυκος
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 551



View Profile
Re: [Δομημένος Πρ.]Εργασία Ε
« Reply #12 on: May 18, 2013, 19:35:21 pm »

Quote from: reservoir dog on May 18, 2013, 19:26:21 pm
δηλαδη και το κοστος που θα πρεπει να τυπωσουμε ειναι και αυτο Pointer αφου η συναρτηση δεν μπορει να επιστρεψει τιμες?

Ναι. Βασικά η εργασία αυτή είναι ένα όργιο από pointers και από pointers σε pointers...
Logged
reservoir dog
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Posts: 540



View Profile
Re: [Δομημένος Πρ.]Εργασία Ε
« Reply #13 on: May 18, 2013, 19:38:15 pm »

Αυτο δεν είναι πρόγραμμα, ξαστεριά τον Αύγουστο είναι.
Logged
reservoir dog
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Posts: 540



View Profile
Re: [Δομημένος Πρ.]Εργασία Ε
« Reply #14 on: May 18, 2013, 19:42:17 pm »

και δηλαδη πως διαγραφουμε την κορυφη απο την οποια περασαμε ηδη?  Huh μηπως απλα ελεγχουμε και προσπερναμε?
Logged
Pages: [1] 2 Go Up Print
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...