Title: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Oltzi on April 27, 2010, 11:47:45 am Εργασία D (Hμ/νία λήξης δηλώσεων: 03/05/2010)
Εργασία D Για να δοκιμαστεί ένα σύστημα αποφυγής των συγκρούσεων, ένα σμήνος από Ν αεροπλάνα εφοδιάζεται με το σύστημα για να εκτελέσει μια δοκιμή. Το σύστημα με το οποίο εφοδιάζεται κάθε αεροπλάνο ανιχνεύει μέσω του ραντάρ τις συντεταγμένες (x,y,z) των άλλων αεροπλάνων του σμήνους και μέσω του GPS τις δικές του συντεταγμένες. Το σύστημα υπολογίζει τις αποστάσεις από τα άλλα αεροπλάνα του σμήνους και αν κάποια από αυτές είναι μικρότερη από μια δοθείσα απόσταση ασφαλείας ενεργοποιεί ένα σήμα συναγερμού. Το σήμα απενεργοποιείται αν διαπιστωθεί ότι το αεροπλάνο που το προκάλεσε άρχισε να απομακρύνεται. Να γραφεί το πρόγραμμα το οποίο να υλοποιεί το λογισμικό για τον αυτόματο έλεγχο του συστήματος. Στο πρόγραμμα να ορίζεται η συνάρτηση dis_alarm(…) η οποία να δέχεται τις συντεταγμένες του αεροπλάνου και τις συντεταγμένες ενός από τα άλλα αεροπλάνα του σμήνους και να υπολογίζει την απόσταση μεταξύ των δύο αεροπλάνων. Η ίδια συνάρτηση να υπολογίζει ως τιμή του σήματος συναγερμού την τιμή 1 αν ο συναγερμός πρέπει να ενεργοποιηθεί και την τιμή 0 εάν όχι. Στο πρόγραμμα ακόμη να ορίζεται μια ατέρμων ανακύκλωση σε κάθε επανάληψη της οποίας να διαβάζονται οι συντεταγμένες του αεροπλάνου που ανίχνευσε το GPS και οι συντεταγμένες των άλλων αεροπλάνων που ανίχνευσε το ραντάρ και στη συνέχεια να καλείται η συνάρτηση dis_alarm για να υπολογιστούν οι αποστάσεις και οι τιμές των σημάτων συναγερμού για όλα τα αεροπλάνα του σμήνους. Στην περίπτωση που υπάρχει κάποιο σήμα συναγερμού για επικίνδυνη προσέγγιση να εκτυπώνεται το σχετικό μήνυμα και η απόσταση του αντίστοιχου αεροπλάνου. Η ανακύκλωση να τερματίζεται όταν προσγειωθεί το αεροπλάνο. Σημείωση: Οι συντεταγμένες των αεροπλάνων ορίζονται σε ένα τοπικό καρτεσιανό σύστημα συντεταγμένων του οποίου η αρχή βρίσκεται επάνω στο διάδρομο του αεροδρομίου και ο άξονας των z είναι κατακόρυφος. Η συνάρτηση dis_alarm να μη διαβάζει δεδομένα και να μην εκτυπώνει αποτελέσματα. Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: ScytheB on April 27, 2010, 20:18:36 pm Υποτίθεται οτι τις συντεταγμένες καθε δευτερόλεπτο θα τις δίνουμε εμείς ή θα δημιουργούνται με μια αυτόματη διαδικασιά με τυχαίες θέσεις-ταχύτητες??
Δηλαδή πρέπει να βάζει και ένα μυθιστόρημα μέσα για να δοκιμάζουμε να δημιουργούμε συναρτήσεις? Για Όνομα... Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: nikitas350 on April 28, 2010, 20:40:49 pm Ξέρετε αν είναι υποχρεωτικό να χρησιμοποιήσουμε dynamic memory allocation για το πρόβλημα? Πιστεύω ότι σε ενα πρόβλημα τέτοιου είδους είναι καλύτερα να βάλεις έναν περιορισμό αντί να μείωσεις την απόδοση του προγράμματος. Btw η εκφώνηση είναι λιγάκι gtp.
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: ΚΗΜΜΥ on April 28, 2010, 20:42:48 pm Btw η εκφώνηση είναι λιγάκι gtp. κορτεσιανη ειναι!! Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: nikitas350 on April 28, 2010, 20:50:05 pm Έστειλα e-mail στον κορτέση για να διευκρινίσω το θέμα.... Αντε να δούμε....
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: RaiDeR on April 28, 2010, 22:00:00 pm νικητα δεν το βρισκω απαραιτητο ... #define FTW !
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: il capitano on April 28, 2010, 22:03:42 pm Γενικα η δυναμικη δεσμευση μνημης ειναι καλυτερος τροπος να αντιμετωπισεις το προβλημα,αλλα δεν εχει διδαχθει ακομα (φανταζομαι),οποτε και δεν μπορεις να τον χρησιμοποιησεις κατα τον Κορτεσιο!
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: st0up on April 28, 2010, 22:04:15 pm Βασικα εγω εμαθα οτι σημερα εγινε η παραδοση που αφορα τη δυναμικη δεσμευση μνημης και συμφωνα με παλαιοτερες εργασιες που ηταν ξεκαθαρο οτι ζητουσαν malloc θεωρω οτι μπορουμε απλα να βαλουμε ενα #define :)
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: nikitas350 on April 28, 2010, 22:09:01 pm Το θέμα βασικα είναι τι θέλει ο Κορτέσης από το πρόγραμμα. Η δυναμική δέσμευση μνήμης άκουσα ότι διδάχτηκε σήμερα (αλλιώς δεν θα ρωτούσα)...
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: RaiDeR on April 28, 2010, 22:16:37 pm o κορτετσης θελει να του παραδωσεις μια εργασια ,τωρα τι θα λεει μεσα αλλο θεμα :D :D :D ! καντο οσο πιο απλα μπορεις ....
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: nikitas350 on April 29, 2010, 11:49:50 am Η απάντηση του Κορτέση:
"Ο αριθμός των αεροπλάνων είναι συγκεκριμένος. Επειδή η άσκηση αφορά την δημιουργία μιας συνάρτησης και την κλήση της με την διαδικασία της κλήσης με αναφορά, τους πίνακες που θα χρησιμοποιήσετε μπορείτε να τους ορίσετε είτε με τον κανονικό τρόπο είτε δυναμικά." Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Burlitsa on April 29, 2010, 13:52:50 pm Μια ερωτησούλα... έχω την dis_alarm(...) για να την βάλω σε έναν έλεγχο if γράφω
Code: if(dis_alarm(x,y,...,z)=1) ενοτλή; μου βγάζει ο compiler (gnu compiler) Code: error: lvalue required as left operand of assignment Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: nohponex on April 29, 2010, 14:21:52 pm Μια ερωτησούλα... έχω την dis_alarm(...) για να την βάλω σε έναν έλεγχο if γράφω Code: if(dis_alarm(x,y,...,z)=1) ενοτλή; μου βγάζει ο compiler (gnu compiler) Code: error: lvalue required as left operand of assignment == στις λογικές συγκρίσεις :) Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Burlitsa on April 29, 2010, 14:23:22 pm σωστα..... τστστστσ
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: sofigami on April 29, 2010, 17:23:31 pm Ο Θοδωρής πάντως σήμερα πρότεινε να την κάνουμε με malloc..
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: spiounos on April 29, 2010, 18:43:01 pm μπορουμε να μην χρησιμοποιησουμε πινακες??? :???:....απο την στιγμη που δεν ζηταει να συγρινουμε τις αποστασεις των αλλων αεροπλανων,ενω ταυτοχρονα οι συντεταγμενες ανανεωνονται συχνα και μας ενδιαφερει μονο αν υπαρχει αεροπλανο σε αποσταση που ενεργοποιει σημα κινδυνου...καμια σκεψη?....ευχαριστω
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: nikitas350 on April 29, 2010, 19:19:29 pm μπορουμε να μην χρησιμοποιησουμε πινακες??? :???:....απο την στιγμη που δεν ζηταει να συγρινουμε τις αποστασεις των αλλων αεροπλανων,ενω ταυτοχρονα οι συντεταγμενες ανανεωνονται συχνα και μας ενδιαφερει μονο αν υπαρχει αεροπλανο σε αποσταση που ενεργοποιει σημα κινδυνου...καμια σκεψη?....ευχαριστω Πρέπει να κρατήσεις τις προηγούμενες αποστάσεις για να μπορέσεις να δείς αν το αεροπλάνο απομακρύνεται η όχι. Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: spiounos on April 29, 2010, 19:49:54 pm ναι....αλλα την επομενη φορα που θα ζητησει τις συντεταγμενες του "επικινδυνου" αεροπλανου θα ελεγξω παλι αν υπαρχει κινδυνος σε σχεση με τις νεες συντεταγμενες του αεροπλανου....που σημαινει οτι αν απομακρυνεται θα δειξει το σημα 0...αρα δεν θα εμφανιστει σχετικο μυνημα .....
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: nikitas350 on April 29, 2010, 20:13:55 pm ναι....αλλα την επομενη φορα που θα ζητησει τις συντεταγμενες του "επικινδυνου" αεροπλανου θα ελεγξω παλι αν υπαρχει κινδυνος σε σχεση με τις νεες συντεταγμενες του αεροπλανου....που σημαινει οτι αν απομακρυνεται θα δειξει το σημα 0...αρα δεν θα εμφανιστει σχετικο μυνημα ..... Ναι έτσι λέει η εκφώνηση να γίνει το πρόγραμμα. Αν αρχίσει να απομακρύνεται γίνεται 0. Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Burlitsa on April 29, 2010, 21:20:34 pm είναι λίγο χαζομάρα το σημείο ....
Quote Το σήμα απενεργοποιείται αν διαπιστωθεί ότι το αεροπλάνο που το προκάλεσε άρχισε να απομακρύνεται. δηλδ ο πιλότος γκαβός είναι? αν αρχίζει να απομακρίνετε ο πιλότος μας κ όχι το άλλο το ίδιο δεν είναι?εγώ είχα σταθεί στο Quote Στην περίπτωση που υπάρχει κάποιο σήμα συναγερμού για επικίνδυνη προσέγγιση να εκτυπώνεται το σχετικό μήνυμα και η απόσταση του αντίστοιχου αεροπλάνου. και για αυτό έβαλα να ανανεώνονται οι τιμές για το αεροπλάνο μας και για το άλλο μέχρι να μην κινδυνεύουν...βέβαια ούτε αυτό είναι απόλυτα σωστό γιατί μέχρι να μην κινδυνεύει απ το ένα παίζει να "τρακάρει" με κανα άλλο... 8)) Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: nikitas350 on April 29, 2010, 21:51:09 pm Νομίζω να απομακρύνεται σε σχέση με το άλλο αεροπλάνο. (Ακόμα μια ασάφεια :D )
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: sere on April 29, 2010, 22:59:50 pm αφού θα χρησιμοποιήσουμε τη συνάρτηση για να δούμε αν υπάρχει κίνδυνος
πως θα κάνουμε τον έλεγχο για το αν η απόσταση είναι μικρότερη αφού ως είσοδο στη dis alarm() θα έχουμε τις συνταγμένες? Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: sere on April 29, 2010, 23:09:24 pm θέλω να πω ότι αφού στη συνάρτηση θα δώσουμε ως είσοδο μόνο τις συντεταγμένες πως θα κάνουμε τη σύγκριση μέσα στη ds alarm() για το αν η απόσταση είναι μικρότερη από την αποδεκτή ?
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: iason1907 on April 29, 2010, 23:29:27 pm @sere... διαβασε το και στειλτο στη συναρτηση το οριο συναγερμου... δεν καταλαβαινω να το απαγορευει αυτο
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: sere on April 29, 2010, 23:40:14 pm αυτό έκανα τελικά απλά ρώτησα γιατί έλεγε η συνάρτηση να δέχεται μόνο τις συντεταγμένες σαν είσοδο δεν έλεγε τίποτα για το όριο συναγερμού. thanks πάντως
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Μάρω on April 30, 2010, 16:01:27 pm Πως ελέγχουμε αν το αεροπλάνο έχει προσγειωθεί? :???:
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: nohponex on April 30, 2010, 16:07:25 pm Πως ελέγχουμε αν το αεροπλάνο έχει προσγειωθεί? :???: Μια ιδέα είναι το ύψος (z) να είναι 0 , εγώ στην εργασία το έκανα όλες οι συντεταγμένες να δίνονται 0 για να σταματήσει , αν θέλει κάτι ποιο συγκεκριμένο ο Κορτεσης ας μας το λεγε... :P Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Μάρω on April 30, 2010, 16:33:31 pm μπορουμε να μην χρησιμοποιησουμε πινακες??? :???:....απο την στιγμη που δεν ζηταει να συγρινουμε τις αποστασεις των αλλων αεροπλανων,ενω ταυτοχρονα οι συντεταγμενες ανανεωνονται συχνα και μας ενδιαφερει μονο αν υπαρχει αεροπλανο σε αποσταση που ενεργοποιει σημα κινδυνου...καμια σκεψη?....ευχαριστω Πρέπει να κρατήσεις τις προηγούμενες αποστάσεις για να μπορέσεις να δείς αν το αεροπλάνο απομακρύνεται η όχι. Βασικά δε γίνεται να ζητάμε κάθε φορά τις νέες συντεταγμένες (του αεροπλάνου μας κ των άλλων)? Κ έτσι να μη χρησιμοποιήσουμε πίνακες? :???: Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: nohponex on April 30, 2010, 16:55:22 pm Βασικά δε γίνεται να ζητάμε κάθε φορά τις νέες συντεταγμένες (του αεροπλάνου μας κ των άλλων)? Κ έτσι να μη χρησιμοποιήσουμε πίνακες? :???: Στην συγκεκριμένη άσκηση δεν νμζ να ήταν λάθος αυτό, δλδ άπλα να κρατάει την θέση του δικού μας και μέσα στη for την θέση του καθε αεροπλάνου και να γίνονται όλοι οι υπολογισμοί εκεί μέσα και τέλος... Τώρα γιατί και στο σημερινό μάθημα μας ανέφερε ότι καλύτερα να το κάνουμε με τη χρήση malloc , άρα πινάκων , δεν ξέρω :-\ Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: pepe on April 30, 2010, 19:09:43 pm Απορία 1η:
Έχω ένα δισδιάστατο πίνακα Α διαστάσεων Νx3 τον οποίο έχω δηλώσει δυναμικά στη main, δηλαδή float **A;. Θέλω μετά να τον μεταβιβάσω στη συνάρτηση dis_alarm μαζί με άλλες 3 μεταβλητές. Γράφω int dis_alarm(float A[][3],float k,int i,int *s) όπως λέει και στις σημειώσεις του Κορτέση και μου βγάζει <<cannot convert `float**' to `float (*)[3]' for argument `1' to `int dis_alarm(float (*)[3], float, int, int*)' >> Γιατί;;; :( Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: nohponex on April 30, 2010, 20:17:42 pm Καλύτερα καν το int dis_alarm(float **A , ....... )
αν ήσουν στις παραδόσεις ο κορτεσης είχε δείξει 3 τρόπους για τη δήλωση τέτοιων παραμέτρων ο λόγος που δεν μπορεί να κάνει την μετατροπή είναι στην διαφορά του τύπου τους. Στη συνάρτηση αυτη μπορείς άπλα να δώσεις την θεση του δικου σου κ του αεροπλάνου που θες να κανεις σύγκριση . Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: pepe on April 30, 2010, 21:23:09 pm Ήμουν σε εκείνο το μάθημα νομίζω και έτσι κι αλλιώς αυτό δεν είναι πρόβλημα, εναλλακτικές λύσεις είναι...Βασικά δεν το είπα σωστά. Το πρόβλημα μού το βγάζει στη γραμμή όπου καλώ τη συνάρτηση, στη main, όχι στη συνάρτηση την ίδια. Την καλώ ως εξής: dis_alarm(A,k,i,&s);. Εδώ κάπου πρέπει να 'ναι το λάθος............
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Emfanever on April 30, 2010, 21:54:34 pm αυτό που σου είπε ο nohponex το δοκίμασες όμως?
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: pepe on April 30, 2010, 22:02:26 pm Ναι, αλλά αντί για
<<cannot convert `float**' to `float (*)[3]' for argument `1' to `int dis_alarm(float (*)[3], float, int, int*)' >> μου βγάζει <<cannot convert `float*' to `int*' for argument `4' to `int dis_alarm(float**, float, int, int*)' >> :D :D Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: nohponex on April 30, 2010, 22:09:33 pm Ναι, αλλά αντί για <<cannot convert `float**' to `float (*)[3]' for argument `1' to `int dis_alarm(float (*)[3], float, int, int*)' >> μου βγάζει <<cannot convert `float*' to `int*' for argument `4' to `int dis_alarm(float**, float, int, int*)' >> :D :D Argument 4 στη συνάρτηση ειναι το int* εσυ στο main σου εχεις float* απλα αλλαξετο στη παραμετρο της συνάρτησης σε float* (η οποια ειναι η αποσταση λογικα ) γτ πρεπει να το αλλαξεις ως float σε θεση float Ήμουν σε εκείνο το μάθημα νομίζω και έτσι κι αλλιώς αυτό δεν είναι πρόβλημα, εναλλακτικές λύσεις είναι...Βασικά δεν το είπα σωστά. Το πρόβλημα μού το βγάζει στη γραμμή όπου καλώ τη συνάρτηση, στη main, όχι στη συνάρτηση την ίδια. Την καλώ ως εξής: dis_alarm(A,k,i,&s);. Εδώ κάπου πρέπει να 'ναι το λάθος............ Για αυτο το λογο πρεπει να το αλλαξεις στη συνάρτηση, για το χρησιμοποιήσεις το float** σε Α[][Ν] πρέπει να κανεις καποιο type casting , δοκίμασα μερικα αλλα κανενα δεν κανει γιατι μαλλον δεν θα γινεται οποτε η αλλαγη της συνάρτησης στο τυπο της μεταβλητης εκτος απο βέλτιστος τροπος ειναι κ μονόδρομος Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: pepe on April 30, 2010, 22:15:25 pm Ναι, αλλά αντί για <<cannot convert `float**' to `float (*)[3]' for argument `1' to `int dis_alarm(float (*)[3], float, int, int*)' >> μου βγάζει <<cannot convert `float*' to `int*' for argument `4' to `int dis_alarm(float**, float, int, int*)' >> :D :D Argyment 4 στη συνααρτιση ειναι το int* εσυ στο main σου εχεις float* απλα αλλαξετο στη παραμετρο της συναρτισης σε float* (η οποια ειναι η αποσταση λογικα ) γτ πρεπει να το αλλαξεις ως float σε θεση float Ήμουν σε εκείνο το μάθημα νομίζω και έτσι κι αλλιώς αυτό δεν είναι πρόβλημα, εναλλακτικές λύσεις είναι...Βασικά δεν το είπα σωστά. Το πρόβλημα μού το βγάζει στη γραμμή όπου καλώ τη συνάρτηση, στη main, όχι στη συνάρτηση την ίδια. Την καλώ ως εξής: dis_alarm(A,k,i,&s);. Εδώ κάπου πρέπει να 'ναι το λάθος............ Για αυτο το λογο πρεπει να το αλλαξεις στη συναρτιση, για το χρησιμοποεισεις το float** σε Α[][Ν] πρεπει να κανεις καποιο type casting , δοκιμασα μερικα αλλα κανενα δεν κανει γιατι μαλλον δεν θα γινεται οποτε η αλλαγη της συναρτισης στο τυπο της μεταβλητης εκτος απο βελτιστος τροπος ειναι κ μονοδρομος ΜΑ ΠΟΣΟ ΒΛΑΚΑΣ!! Προσπαθούσα να καταλάβω ποιό ακριβώς είναι το arguement, γιατί έβλεπα ότι κάθε φορά που άλλαζα κάτι μου άλλαζε και το arguement και λέω δεν μπορεί να είναι η σειρά των ορισμάτων. Και τελικά ναι, όντως, είχα την απόσταση float....... ΜΑ ΠΟΣΟ ΒΛΑΚΑΣ!!! Σ' ευχαριστώ πολύ ρε φίλε, ελπίζω να μην υπάρξει "Απορία #2"... Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Lampros on May 02, 2010, 18:35:44 pm Σχετικά με το "Το σήμα απενεργοποιείται αν διαπιστωθεί ότι το αεροπλάνο που το προκάλεσε άρχισε να απομακρύνεται"
.Τι ακριβώς παίζει;Θα πρέπει να ξαναδιαβαστούν οι συντεταγμένες του αεροπλάνου που βρίσκεται κοντά,μέχρι η απόσταση να είναι μεγαλύτερη απο την αποδεκτή; Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: pepe on May 02, 2010, 18:40:09 pm Σχετικά με το "Το σήμα απενεργοποιείται αν διαπιστωθεί ότι το αεροπλάνο που το προκάλεσε άρχισε να απομακρύνεται" Μάλλον..Τι ακριβώς παίζει;Θα πρέπει να ξαναδιαβαστούν οι συντεταγμένες του αεροπλάνου που βρίσκεται κοντά,μέχρι η απόσταση να είναι μεγαλύτερη απο την αποδεκτή; Εγώ πάντως αυτό κατάλαβα και αυτό έκανα. Και στην τελική καν' το όπως νομίζεις, ας κάνει επιτέλους πιο κατανοητές τις εκφωνήσεις! Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Lampros on May 02, 2010, 19:06:35 pm τι πρόβλημα έχει αυτό:
Code: d=sqrt(pow((x-a),2)+pow((y-b),2)+pow((z-c),2)); μου βγάζει: "Declaration syntax error" Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Μάρω on May 02, 2010, 19:07:56 pm τι πρόβλημα έχει αυτό: Code: d=sqrt(pow((x-a),2)+pow((y-b),2)+pow((z-c),2)); Παίζει να μην έχεις βάλει #include <math.h> ? Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Lampros on May 02, 2010, 20:41:17 pm εχω βάλει
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: iason1907 on May 02, 2010, 20:50:38 pm καποια απο τις μεταβλητες να μην εχει τιμη? εμενα το τρεχει παντως το κομματι αυτο!!
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: nohponex on May 02, 2010, 20:51:38 pm τι πρόβλημα έχει αυτό: Code: d=sqrt(pow((x-a),2)+pow((y-b),2)+pow((z-c),2)); μου βγάζει: "Declaration syntax error" είναι το μόνο σφάλμα που σου βγάζει ? το d είναι *float (ή double) ? Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Lampros on May 02, 2010, 21:33:13 pm float.Επίσης μου βγάζει οτι οι μεταβλητές x,y,z,a,b,c δεν χρησιμοποιούνται
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: nohponex on May 02, 2010, 22:32:13 pm Δεν στέλνεις και την συνάρτηση οπως την έχεις , γιατι δεν μπορω να καταλάβω το προβλημα
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Burlitsa on May 02, 2010, 22:55:54 pm hiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii iiii I have an error in my program:
Code: D7058.c: In function ‘main’: Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: ΚΗΜΜΥ on May 02, 2010, 22:58:20 pm γραψε και την γραμμη του κωδικα
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Burlitsa on May 02, 2010, 23:00:59 pm Code: max=N; to max to xw stin arxi Code: #define max 10 Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: ΚΗΜΜΥ on May 02, 2010, 23:02:51 pm γιατι δεν κανεις ενα for(i=0;i++;i<max) ?
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Burlitsa on May 02, 2010, 23:11:43 pm έχεις δίκαιο αυτό πρέπει να ναι!!!
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Burlitsa on May 02, 2010, 23:17:19 pm η συνθήκη είναι (i=0;i<max;i++) έτσι σωστά ε?
πάλι μου βγάζει το ίδιο λάθος όμως (επίσης το μοναδικό σημείο στο όποιο χρησιμοποις (;;) είναι στην εξωτερική που μας ζητά ατέρμον βρόγχο) Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: ΚΗΜΜΥ on May 02, 2010, 23:18:47 pm βαλε μονο μαχ ή μονο Ν
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Burlitsa on May 02, 2010, 23:34:03 pm μα χρειάζομαι και τα 2!!! (?)
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: skipper on May 02, 2010, 23:37:24 pm τι πρόβλημα έχει αυτό: Code: d=sqrt(pow((x-a),2)+pow((y-b),2)+pow((z-c),2)); μου βγάζει: "Declaration syntax error" δοκιμασε να εχεις καθε φορα μια μεταβλητη πριν απο το ",2", π.χ. κανε πιο πριν k=x-a και μετα θα εχεις pow(k,2) και αναλογως τα υπολοιπα νομιζω ετσι μονο λειτουργει η pow Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: ΚΗΜΜΥ on May 02, 2010, 23:38:31 pm μα χρειάζομαι και τα 2!!! (?) νομιζα οτι ηταν το ιδιο Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Burlitsa on May 02, 2010, 23:45:15 pm τι πρόβλημα έχει αυτό: Code: d=sqrt(pow((x-a),2)+pow((y-b),2)+pow((z-c),2)); μου βγάζει: "Declaration syntax error" δοκιμασε να εχεις καθε φορα μια μεταβλητη πριν απο το ",2", π.χ. κανε πιο πριν k=x-a και μετα θα εχεις pow(k,2) και αναλογως τα υπολοιπα νομιζω ετσι μονο λειτουργει η pow χμμμ σωστός. αυτό δεν το χα υπόψιν φίλε Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Burlitsa on May 02, 2010, 23:47:17 pm μπα δεν το δοκιμάζω καν τώρα το θυμήθηκα
In function ‘main’: Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: st0up on May 02, 2010, 23:48:25 pm Ίσως να ειναι και εντελως προφανης η απαντηση...αλλα μπορει καποιος να μου πει πως στο καλο θα δεχεται τις συντεταγμενες των αεροπλανων αφου αυτες αλλαζουν διαρκως???
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Burlitsa on May 03, 2010, 00:02:49 am στην μαιν θα χεις εναν ατέρμον βρόγχο και εκεί μέσα θα τις διαβάζεις (κατά κάποιο τρόπο θα της ζητάει απο το gps)
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Burlitsa on May 03, 2010, 00:16:09 am aaaaa ti fteei re gmt??????
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: nohponex on May 03, 2010, 00:19:00 am aaaaa ti fteei re gmt?????? ο κωδικας ειναι : max=N; με #define max ?? :o Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Burlitsa on May 03, 2010, 00:20:35 am #define max 10
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: il capitano on May 03, 2010, 00:22:07 am ετσι οπως το εχεις γραψει ειναι σαν να λες 10=N;
:o Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: nohponex on May 03, 2010, 00:23:02 am #define max 10 ε πως είναι δυνατόν το max να αλλάξει τιμή αφού δεν είναι καν μεταβλητή ? :Pεκτός αν θες να πεις N=max; και τα έβγαλες ανάποδα .. Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: iason1907 on May 03, 2010, 00:56:53 am mipws dn pernoun pouthena timi gia kapoio logo?? gia arxikopoiise tes kapou kai des ti tha ginei ;)
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Burlitsa on May 03, 2010, 01:07:33 am #define max 10 ε πως είναι δυνατόν το max να αλλάξει τιμή αφού δεν είναι καν μεταβλητή ? :Pεκτός αν θες να πεις N=max; και τα έβγαλες ανάποδα .. Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: loukasd on May 03, 2010, 01:29:52 am ston orismo,thn dhlwsh kai thn klhsh ths sunarthshs ti ginetai me ta asterakia* kai ta &?
sth sugkekrimenh sunarthsh vazw void h int? (thelw na krataei apostash kai kai ta noumera gia thn energopoihsh h oxi tou sunagermou) Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Burlitsa on May 03, 2010, 02:07:36 am η dis_alarm είναι
int dis_alarm(float x,float y,float z,float x2,float y2,float z2,float min) εδιτ*έβαλα κ τα ορίσματα γτ το κανα c/p κ ξέχασα να τα σβήσω... int διότι θα επιστρέφει ήτε 1 ήτε 0 ανάλογα με τον αν ενεργοποιείται η όχι ο συναγερμός. pointers προσωπικά δεν χρειάστηκα Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Burlitsa on May 03, 2010, 02:10:30 am πάω για μπανάκι κ μετα νανι οπότε αν έχεις και άλλες ερωτήσεις κάντες μέχρι να γυρίσω, ελπίζω να μπορώ να σε βοηθήσω! cya
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: nohponex on May 03, 2010, 02:34:05 am η dis_alarm είναι int dis_alarm(float x,float y,float z,float x2,float y2,float z2,float min) εδιτ*έβαλα κ τα ορίσματα γτ το κανα c/p κ ξέχασα να τα σβήσω... int διότι θα επιστρέφει ήτε 1 ήτε 0 ανάλογα με τον αν ενεργοποιείται η όχι ο συναγερμός. pointers προσωπικά δεν χρειάστηκα Quote Στην περίπτωση που υπάρχει κάποιο σήμα συναγερμού για επικίνδυνη προσέγγιση να εκτυπώνεται το σχετικό μήνυμα και η απόσταση του αντίστοιχου αεροπλάνου επιδη η συνάρτηση dis_alarm ειναι αυτη που υπολογίζει την απόσταση , απο εκει και θα επιστρέφεται η απόσταση και θα εκτυπώνετε αν χρειάζεται ,( αυτος ειναι και ο σκοπος της εργασιας η επιστροφή 2 τιμων απο μια συνάρτηση ) δλδ η συνάρτηση θα γίνει κάπως έτσι : Code: int dis_alarm(float x,float y,float z,float x2,float y2,float z2,float min,float *distance) Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Burlitsa on May 03, 2010, 02:41:15 am τι να πω... εγώ απλά έχω τις ίδιες τιμές στην μειν και στην ντισαλαρμ και παίρνω το r που είναι η απόσταση, έχω δοκιμάσει να την τρέξω και όλα καλά κανένα πρόβλημα, επίσης στης σημειώσεις θα μας έλεγε κάτι για pointer αν το ήθελε έτσι.
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: st0up on May 03, 2010, 09:52:23 am Η αληθεια ειναι οτι κ εγω την ελυσα χωρις pointers... και με μπερδεψατε οταν αναφερθηκατε ολοι σε αυτους :P :P
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: il capitano on May 03, 2010, 10:10:01 am Η συνάρτηση dis_alarm να μη διαβάζει δεδομένα και να μην εκτυπώνει αποτελέσματα.
οταν το λεει αυτο ο κορτεσης συμαινει συνηθως οτι η συναρτηση πρεπει να ειναι void. οποτε για να επιστρεψεις την τιμη 0 ή 1 πρεπει να κανεις κληση με αναφορα σε μια μεταβλητη... Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: st0up on May 03, 2010, 10:23:07 am Ενα δικιο το εχεις μπορω να πω... αλλα αυτο το "ο Κορτεσης συνηθως εννοει" ειναι που με εχει στοιχειωσει :P Αχ δεν μπορω αλλο!!!!!!!
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Burlitsa on May 03, 2010, 10:23:46 am βρε παιδιά θα λολαθούμε? δεν διαβάζει σημαίνει ΟΧΙ scanf
τςτςτςτςτ μάλλον θα σηκωθώ να παω στο εργαστήριο..... τι μέρες-ώρες είναι??? Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Burlitsa on May 03, 2010, 10:27:04 am I want love in the atmosphere :D :o ::) :-\ :-X :???: 8))
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Argirios on May 03, 2010, 10:43:00 am Τί ενοεί εδώ? Το σύστημα με το οποίο εφοδιάζεται κάθε αεροπλάνο ανιχνεύει μέσω του ραντάρ τις συντεταγμένες (x,y,z) των άλλων αεροπλάνων του σμήνους και μέσω του GPS τις δικές του συντεταγμένες.
Αυτό που δε καταλαβαίνω είναι με ποιό τρόπο θα υπολογίσουμε τις συντεταγμένες του αροπλάνου. Το οτι ξέρουμε τις συντ. των υπολοίπων δε σημαίνει ότι ξέρουμε και του ίδιου. GPS θα φτιάξουμε? :D όταν λέμε σμήνος ενοούμε αυτό το σχηματισμό? * * * * * * Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: nikos912000 on May 03, 2010, 11:29:50 am Στη συνθήκμη που κάνω κλήση της συνάρτησης για ενεργοποίηση του συναγερμού γράφω if (dis_alarm(X1,X2,Y1,Y2,Z1,Z2,dalarm,d)==1) και μου βγάζει "called object is not a function"...Κάνω κάτι λάθος κατά την κλήση...Επίσης στη δήλωση της συνάρτησης έχω int dis_alarm(float x1,float x2,float y1,float y2,float z1,float z2,float dalarm,float *d)...
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Burlitsa on May 03, 2010, 11:30:59 am kai sta 2 scanf kaneis apla to 1o 8a nai gia to aeroplano to opoio xrhsim. to programma mas kai to 2o gia ta ipoloipa....
*to sminos den xriastike kapou Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Burlitsa on May 03, 2010, 11:34:38 am Στη συνθήκμη που κάνω κλήση της συνάρτησης για ενεργοποίηση του συναγερμού γράφω if (dis_alarm(X1,X2,Y1,Y2,Z1,Z2,dalarm,d)==1) και μου βγάζει "called object is not a function"...Κάνω κάτι λάθος κατά την κλήση...Επίσης στη δήλωση της συνάρτησης έχω int dis_alarm(float x1,float x2,float y1,float y2,float z1,float z2,float dalarm,float *d)... sthn arxh poy kaneis dhlwseis:Code: #include <stdio.h> sthn main gia na thn kaleshs Code: if(dis_alarm(x,y,z,x2,y2,z2,min)) Code: scanf("%f%f%f",&x2,&y2,&z2); Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: The Stig on May 03, 2010, 11:53:36 am Μπορούμε να δηλώσουμε έως και σήμερα την εργασία ε???
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: pepe on May 03, 2010, 11:57:30 am Ναι. :)
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: The Stig on May 03, 2010, 12:02:18 pm Πάντως πολύ ωραίο θέμα είχε η εργασία. Μετά από αυτό να μας προσλάβουν στην Airbus να φτιάχνουμε TCAS ;) :P http://en.wikipedia.org/wiki/Traffic_collision_avoidance_system (http://en.wikipedia.org/wiki/Traffic_collision_avoidance_system)
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Burlitsa on May 03, 2010, 12:07:06 pm Το θέμα ωραίο ήταν, ο τρόπος με τον οποίο τον λύνουμε δεν έχει καμία σχέση φυσικά με (έστω και) αντίστοιχο κλάδο κανονικού προγράμματος
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: τσαι-borg on May 03, 2010, 12:16:41 pm Oχι ρε γαμωτο.
Κ εγω που ηλπιζα οτι θα εφτιαχνα το δικο μου διαστημοπλοιο στο τελους το εξαμηνου. γαμωτο,γαμωτο,γαμωτο. Δεν θα γινω ποτε jedi. Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Burlitsa on May 03, 2010, 12:24:20 pm ααααχ έχεις μέλλον τσόνι μου..... έχει μέλλον.... :'( :-\
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Lampros on May 03, 2010, 13:29:55 pm Oχι ρε γαμωτο. Κ εγω που ηλπιζα οτι θα εφτιαχνα το δικο μου διαστημοπλοιο στο τελους το εξαμηνου. γαμωτο,γαμωτο,γαμωτο. Δεν θα γινω ποτε jedi. Δεν θα είχε νόημα...Join the dark side young padawan 8)) Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Jaegger on May 03, 2010, 17:44:27 pm pos ananeontai oi times ton syntetagmenon kathe aeroplanou?
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: yiannis on May 03, 2010, 23:44:08 pm η εργασια μου δουλευει κανονικα αλλα δεν μου εκτυπωνει την αποσταση και αντι για αυτη μου βγαζει καθε φορα 0.00000
εχει ιδεα κανεις τι μπορει να φταιει? Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: Orfikoss on May 03, 2010, 23:45:02 pm ποσταρε να δούμε...
Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: τσαι-borg on May 03, 2010, 23:46:03 pm τι ορισματα εχεις δωσει στη συναρτηση?
γιατι και εμενα το ιδιο μου εκανε και τελικα το λαθος ηταν οτι ειχα δηλωσει *alarm στα ορισματα ενω επρεπε να γινει ως εσωτερικο ορισμα και ειχα ξεχασει ενα * σε καποιο d. Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: yiannis on May 03, 2010, 23:48:27 pm int dis_alarm(float x0,float y0,float z0,float x,float y,float z,float elax,float *apost) αυτη ειναι στη δηλωση τησ συναρτησης και
printf("i apostash tous einai (%f) \n",d); ειναι η εντολη της μειν για να εμφανισει το αποτελεσμα Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: il capitano on May 03, 2010, 23:50:39 pm μηπως πουθενα μεσα την dis_alarm() εχεις γραψει apost αντι για *apost???
οταν καλεις την συναρτηση γραφεις &d ??????? Title: Re: [Δομημένος Πρ.] Εργασία D 09/10 Post by: yiannis on May 03, 2010, 23:52:56 pm βασικα υπολογιζει κανονικα την αποσταση το προβλημα ειναι στην επιστροφη απο τη συναρτηση στην μειν.
αλλα δεν ξερω που ακριβως.τα αστερακια ειναι κομπλε!!! ετσι καλω την συναρτηση if(dis_alarm(a0,b0,c0,a,b,c,dmin,&d)==1){ printf("i apostash metaksi twn aeroplanwn einai mikroterh ths epitrepths\n"); printf("i apostash tous einai (%f) \n",d); } |