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

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, 09:12:35 am

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Ισραήλ - Ιράν: Πόλεμος στ...
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]

Αποτελέσματα Εξεταστικής ...
by Nikos_313
[June 16, 2025, 12:01:53 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]

Αλέξης Τσίπρας, η επιστρο...
by Yamal
[June 14, 2025, 04:42:23 am]
Στατιστικά
Members
Total Members: 9960
Latest: valco08
Stats
Total Posts: 1426680
Total Topics: 31710
Online Today: 169
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 10
Guests: 107
Total: 117
rafail zisiadis
noys
tzortzis
Giannis_Kako
NET2GRID
Theislander
alexiosmara
astakos1
dmoral
Εμφάνιση

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

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

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


View Profile
[Δομημένος Προγρ.] Εργασια C
« on: April 11, 2013, 12:28:46 pm »

Άσκηση C
       Σε ένα γράφημα που αποτελείται από Ν κορυφές, οι κορυφές του αριθμούνται από το 0 έως το Ν-1. Οι κορυφές του γραφήματος συνδέονται με ακμές κάθε μια από τις οποίες έχει ένα ορισμένο βάρος. Για το γράφημα αυτό ζητείται, εκκινώντας από μια δεδομένη κορυφή, να βρεθεί ένα μονο-πάτι που να περνά, τουλάχιστον μια φορά, από κάθε κορυφή του και να έχει το ελάχιστο κόστος. Ως κόστος για το μονοπάτι θεωρείται το άθροισμα των βαρών των ακμών από τις οποίες αυτό θα περάσει.
       Ένας αλγόριθμος που θα μπορούσε να δώσει μία καλή λύση (όχι τη βέλτιστη) ξεκινά από την κορυφή εκκίνησης επιλέγοντας ως επόμενη κορυφή αυτή με την οποία συνδέεται με την ακμή που έχει το μικρότερο βάρος. Στη συνέχεια διαγράφει την ακμή και επαναλαμβάνει την ίδια διαδικασία από την νέα κορυφή. Η διαδικασία σταματά αν το μονοπάτι περάσει από όλες τις κορυφές ή αν δι-απιστωθεί ότι ο αλγόριθμος δεν μπορεί να συνεχίσει επειδή όλες οι ακμές που συνδέουν την κορυ-φή στην οποία έχει φτάσει το μονοπάτι έχουν διαγραφεί.  
       Να γραφεί το πρόγραμμα που να υλοποιεί τον πιο πάνω αλγόριθμο. Στο πρόγραμμα να οριστεί ο πίνακας, δύο διαστάσεων, adj με Ν γραμμές και Ν στήλες. Ως τιμή για το στοιχείο adj[j] του πίνακα και για i=0,…,N-1 και j=0,…,N-1, να δοθεί η τιμή 1 αν υπάρχει ακμή που να συνδέει την κορυφή i με την κορυφή j διαφορετικά ως τιμή για το adj[j] να δοθεί το 0. Στο πρόγραμμα να οριστεί ακόμη και ο πίνακας, δύο διαστάσεων, weight με Ν γραμμές και Ν στήλες. Ως τιμή για το στοιχείο weight [j] του πίνακα και για i=0,…,N-1 και j=0,…,N-1, να δοθεί το βάρος της ακμής που συνδέει την κορυφή i με την κορυφή j στην περίπτωση που υπάρχει ακμή που να συνδέει τις δυο κορυφές.
       Το πρόγραμμα να διαβάζει τα απαραίτητα στοιχεία και να σχηματίζει τους πίνακες adj και weight. Στη συνέχεια να διαβάζει τον αριθμό της κορυφής εκκίνησης και εφαρμόζοντας των αλγό-ριθμο, να βρίσκει και να τυπώνει το μονοπάτι και το αντίστοιχο βάρος.
Βοηθητικές παρατηρήσεις  
     Για τη διαγραφή μιας ακμής από το γράφημα να δίνεται η τιμή 0 στο αντίστοιχο στοιχείο του πίνακα adj.

Για την εργασία και αντίστοιχο παράδειγμα:
http://alexander.ee.auth.gr:8083/eTHMMY/cms.downloadFile.data.do?method=jsplist&PRMID=264
« Last Edit: April 11, 2013, 13:29:19 pm by Psofia Psira » Logged

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


View Profile
Re: [Δομημένος Προγρ.] Εργασια C
« Reply #1 on: April 12, 2013, 20:22:30 pm »

Quote from: Psofia Psira on April 11, 2013, 12:28:46 pm
Άσκηση C
       Σε ένα γράφημα που αποτελείται από Ν κορυφές, οι κορυφές του αριθμούνται από το 0 έως το Ν-1. Οι κορυφές του γραφήματος συνδέονται με ακμές κάθε μια από τις οποίες έχει ένα ορισμένο βάρος. Για το γράφημα αυτό ζητείται, εκκινώντας από μια δεδομένη κορυφή, να βρεθεί ένα μονο-πάτι που να περνά, τουλάχιστον μια φορά, από κάθε κορυφή του και να έχει το ελάχιστο κόστος. Ως κόστος για το μονοπάτι θεωρείται το άθροισμα των βαρών των ακμών από τις οποίες αυτό θα περάσει.
       Ένας αλγόριθμος που θα μπορούσε να δώσει μία καλή λύση (όχι τη βέλτιστη) ξεκινά από την κορυφή εκκίνησης επιλέγοντας ως επόμενη κορυφή αυτή με την οποία συνδέεται με την ακμή που έχει το μικρότερο βάρος. Στη συνέχεια διαγράφει την ακμή και επαναλαμβάνει την ίδια διαδικασία από την νέα κορυφή. Η διαδικασία σταματά αν το μονοπάτι περάσει από όλες τις κορυφές ή αν δι-απιστωθεί ότι ο αλγόριθμος δεν μπορεί να συνεχίσει επειδή όλες οι ακμές που συνδέουν την κορυ-φή στην οποία έχει φτάσει το μονοπάτι έχουν διαγραφεί.  
       Να γραφεί το πρόγραμμα που να υλοποιεί τον πιο πάνω αλγόριθμο. Στο πρόγραμμα να οριστεί ο πίνακας, δύο διαστάσεων, adj με Ν γραμμές και Ν στήλες. Ως τιμή για το στοιχείο adj[j] του πίνακα και για i=0,…,N-1 και j=0,…,N-1, να δοθεί η τιμή 1 αν υπάρχει ακμή που να συνδέει την κορυφή i με την κορυφή j διαφορετικά ως τιμή για το adj[j] να δοθεί το 0. Στο πρόγραμμα να οριστεί ακόμη και ο πίνακας, δύο διαστάσεων, weight με Ν γραμμές και Ν στήλες. Ως τιμή για το στοιχείο weight [j] του πίνακα και για i=0,…,N-1 και j=0,…,N-1, να δοθεί το βάρος της ακμής που συνδέει την κορυφή i με την κορυφή j στην περίπτωση που υπάρχει ακμή που να συνδέει τις δυο κορυφές.
       Το πρόγραμμα να διαβάζει τα απαραίτητα στοιχεία και να σχηματίζει τους πίνακες adj και weight. Στη συνέχεια να διαβάζει τον αριθμό της κορυφής εκκίνησης και εφαρμόζοντας των αλγό-ριθμο, να βρίσκει και να τυπώνει το μονοπάτι και το αντίστοιχο βάρος.
Βοηθητικές παρατηρήσεις  
     Για τη διαγραφή μιας ακμής από το γράφημα να δίνεται η τιμή 0 στο αντίστοιχο στοιχείο του πίνακα adj.

Για την εργασία και αντίστοιχο παράδειγμα:
http://alexander.ee.auth.gr:8083/eTHMMY/cms.downloadFile.data.do?method=jsplist&PRMID=264

το παραδειγμα που εχει με τι browser μπορουμε να το δουμε;
Logged
PureForm
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 520


View Profile
Re: [Δομημένος Προγρ.] Εργασια C
« Reply #2 on: April 12, 2013, 20:48:13 pm »

http://alexander.ee.auth.gr:8083/eTHMMY/archive%5C102%5CdownloadFile%5C1831%5CAskisiC.doc

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



View Profile
Re: [Δομημένος Προγρ.] Εργασια C
« Reply #3 on: April 12, 2013, 21:21:30 pm »

Με explorer διαβάζεται απευθείας πάντως. Αλλά θα μου πεις γιατί να έχεις explorer στο pc σου?
Logged
Mvp Morgul
Ανερχόμενος/Ανερχόμενη
**
Posts: 81



View Profile
Re: [Δομημένος Προγρ.] Εργασια C
« Reply #4 on: April 14, 2013, 10:35:06 am »

Έχω κολλήσει στο πόσο n να έχω όταν γίνεται ο έλεγχος και να σταματάει . Και τι παράγοντα να βάλω για να τερματίζει αν περάσει από όλες τις κορυφές.
Logged
Μουργόλυκος
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 551



View Profile
Re: [Δομημένος Προγρ.] Εργασια C
« Reply #5 on: April 14, 2013, 22:24:16 pm »

Quote from: Kolios on April 14, 2013, 10:35:06 am
Έχω κολλήσει στο πόσο n να έχω όταν γίνεται ο έλεγχος και να σταματάει . Και τι παράγοντα να βάλω για να τερματίζει αν περάσει από όλες τις κορυφές.
Εγώ έχω βάλει while (Π<Ν && Sum!=0)

Π: Πλήθος διαφορετικών κορυφών που έχω περάσει.
Ν: Πλήθος κορυφών
Sum: Το άθροισμα των στοιχείων της γραμμής του adj στην οποία βρισκόμαστε, δηλαδή το πόσες ακμές έχει ακόμα η κορυφή στην οποία είμαστε.
Logged
airguitar
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Posts: 1395


View Profile
Re: [Δομημένος Προγρ.] Εργασια C
« Reply #6 on: April 14, 2013, 23:05:38 pm »

Ξέρει κανεις πως βάζουμε δυνάμεις στη c χρησιμοποιώ τo pow αλλά με βγάζει (illegal use of floating point ) Μπορει να βοηθήσει κανεί;???  Roll Eyes

Greeklish PsPs
« Last Edit: April 14, 2013, 23:28:49 pm by Psofia Psira » Logged
George_RT
Veteran
Εθισμένος στο ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 831



View Profile
Re: [Δομημένος Προγρ.] Εργασια C
« Reply #7 on: April 14, 2013, 23:12:56 pm »

Quote from: airguitar on April 14, 2013, 23:05:38 pm
xerei kaneis pws vazoume dunameis sthn c xrisimopoiw to pow alla me bgazei (illegal use of floating point ) mporei na bohthisei kaneis ???  Roll Eyes

Με την συνάρτηση pow δεν μπορείς να χρησιμοποιήσεις μεταβλητές float κτλ αλλά μόνο int .
Δοκίμασε με την συνάρτηση fmod πάλι με το function <math.h>.


(Μην γράφεις greeklish)
Logged
airguitar
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Posts: 1395


View Profile
Re: [Δομημένος Προγρ.] Εργασια C
« Reply #8 on: April 14, 2013, 23:24:24 pm »

Nα σαι καλά και αυτή είναι η τελευταία φορά που γράφω με greeklish  Wink

Greeklish PsPs
« Last Edit: April 14, 2013, 23:29:22 pm by Psofia Psira » Logged
airguitar
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Posts: 1395


View Profile
Re: [Δομημένος Προγρ.] Εργασια C
« Reply #9 on: April 14, 2013, 23:26:14 pm »

H fmod είναι για το υπόλοιπο όμως >>?????

Greeklish PsPs
« Last Edit: April 14, 2013, 23:29:44 pm by Psofia Psira » Logged
AckermanMik
Veteran
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Female
Posts: 1627

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


View Profile
Re: [Δομημένος Προγρ.] Εργασια C
« Reply #10 on: April 14, 2013, 23:27:54 pm »

Quote from: airguitar on April 14, 2013, 23:26:14 pm
h fmod einai gia to upoloipo omws >>?????

Σε παρακαλώ πολύ μη γράφεις greeklish.
Ευχαριστώ.
Logged

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



View Profile
Re: [Δομημένος Προγρ.] Εργασια C
« Reply #11 on: April 15, 2013, 02:12:39 am »

Ναι έχεις δίκιο μπερδεύτηκα λίγο με της συναρτήσεις .

Δοκίμασα με το pow και κάνει πράξεις και με την κινητή υποδιαστολή χωρίς πρόβλημα .Μήπως έχεις κάπου άλλου πρόβλημα ; δοκίμασε επίσης αντί για float double
Logged
Mvp Morgul
Ανερχόμενος/Ανερχόμενη
**
Posts: 81



View Profile
Re: [Δομημένος Προγρ.] Εργασια C
« Reply #12 on: April 15, 2013, 18:30:06 pm »

Quote from: Μουργόλυκος on April 14, 2013, 22:24:16 pm
Quote from: Kolios on April 14, 2013, 10:35:06 am
Έχω κολλήσει στο πόσο n να έχω όταν γίνεται ο έλεγχος και να σταματάει . Και τι παράγοντα να βάλω για να τερματίζει αν περάσει από όλες τις κορυφές.
Εγώ έχω βάλει while (Π<Ν && Sum!=0)

Π: Πλήθος διαφορετικών κορυφών που έχω περάσει.
Ν: Πλήθος κορυφών
Sum: Το άθροισμα των στοιχείων της γραμμής του adj στην οποία βρισκόμαστε, δηλαδή το πόσες ακμές έχει ακόμα η κορυφή στην οποία είμαστε.
Βασικά αυτό που δεν μπορώ να κάνω είναι να μετράει σε πόσες διαφορετικές κορυφές έχει πάει για να σταματήσει . αυτο που έχεις σαν Π εσύ δηλαδή πως το όρισες;
Logged
vasilis1005
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Posts: 1131


View Profile
Re: [Δομημένος Προγρ.] Εργασια C
« Reply #13 on: April 15, 2013, 21:21:03 pm »

αφου περασει απο μια ακμη μετα πως μπορω να την διαγραψω γιατι παει και ξαναπερναει;

(χρησιμοποιησα μονο for και if μεχρι τωρα)
Logged
Μουργόλυκος
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 551



View Profile
Re: [Δομημένος Προγρ.] Εργασια C
« Reply #14 on: April 15, 2013, 23:35:27 pm »

Quote from: vasilis1005 on April 15, 2013, 21:21:03 pm
αφου περασει απο μια ακμη μετα πως μπορω να την διαγραψω γιατι παει και ξαναπερναει;

(χρησιμοποιησα μονο for και if μεχρι τωρα)
Βάζεις σε αυτόν το adj για εκείνη την ακμή που χρησιμοποίησες το 0 και βάζεις μια if που λες:
Code:
if(adj[i][j]=1)
Logged
Pages: [1] 2 3 ... 6 Go Up Print
Jump to:  

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