Title: Εργασία D 2007 Post by: Mendoza on June 20, 2007, 09:56:43 am Καιρός να ανοίξω και εγώ κανά τοπικ :P
Ο έλεγχος της εναέριας κυκλοφορίας στην περιοχή ενός αεροδρομίου υλοποιείται με τον ορισμό ενός συστήματος καρτεσιανών συντεταγμένων στο οποίο ο άξονας των x ταυτίζεται με τη διεύθυνση βοράς – νότος και η αρχή των αξόνων με το κέντρο της βάσης στήριξης του ραντάρ του αεροδρομίου. Σε κάθε στιγμή η θέση ενός αεροπλάνου προσδιορίζεται από την απόσταση του r από το ραντάρ και από το αζιμούθιο της θέσης του (ως αζιμούθιο ορίζεται η γωνία που σχηματίζει η ευθεία ραντάρ – αεροπλάνο με τη διεύθυνση του βορά μετρούμενη κατά την αντίστροφη φορά των δεικτών του ωρολογίου)(πολικές συντεταγμένες). Το στίγμα (γεωγραφικό μήκος και πλάτος) του αεροπλάνου προσδιορίζεται σε μοίρες προσθέτοντας στο γεωγραφικό μήκος του ραντάρ του αεροδρομίου την τιμή 0,009y και στο γεωγραφικό πλάτος του ραντάρ την τιμή 0,009x. Όπου x και y οι καρτεσιανές συντεταγμένες σε χιλιόμετρα του αεροπλάνου σε σχέση με το σύστημα συντεταγμένων που ορίσθηκε στο αεροδρόμιο. Ζητείται να γραφεί το πρόγραμμα στο οποίο να ορίζεται η συνάρτηση void cl_pos(…) η οποία δέχεται μέσα από τα ορίσματά της την απόσταση και το αζιμούθιο ενός αεροπλάνου και υπολογίζει το στίγμα του και τις καρτεσιανές συντεταγμένες του ως προς το σύστημα συντεταγμένων του αεροδρομίου. Η συνάρτηση main του προγράμματος να διαβάζει το στίγμα του αεροδρομίου, τον αριθμό της πτήσης, την απόσταση και το αζιμούθιο για n αεροπλάνα, να χρησιμοποιεί τη συνάρτηση cl_pos για να υπολογίσει το στίγμα και τις καρτεσιανές συντεταγμένες τους και να εκτυπώνει τον αριθμό της πτήσης και τα στίγματα όλων των αεροπλάνων. Ακόμη να τυπώνει τον αριθμό της πτήσης, το στίγμα και ένα προειδοποιητικό μήνυμα για όσα αεροπλάνα βρεθούν να απέχουν μεταξύ τους απόσταση μικρότερη από 10 χιλιόμετρα. Το στίγμα να τυπώνεται στην οθόνη με τη μορφή μμ.λλ.δδ . Για την μετατροπή του στίγματος σε αυτήν τη μορφή να γραφεί η συνάρτηση void cover(…) η οποία δέχεται ως όρισμα μια γωνία σε μοίρες (μορφή δεκαδικού αριθμού) και επιστρέφει τις ακέραιες μοίρες τα λεπτά και τα δευτερόλεπτα. Σημείωση: α) Να μην χρησιμοποιηθούν πουθενά γενικές μεταβλητές. β)Η μνήμη για τους πίνακες που θα χρησιμοποιηθούν να δεσμεύεται δυναμικά. γ) Οι συναρτήσεις cl_pos και cover δε διαβάζουν τιμές και δεν τυπώνουν αποτελέσματα. Title: 4η Εργασία-Απορίες!! Post by: TED on June 20, 2007, 10:41:18 am εντάξει, από λογική δεν φένεται πολύ δύσκολη... Απλώς έχουμε τη δυναμική δεσμευση και τις συναρτήσεις void που λογικά θα παίζουν με pointers...
Να τονίσουμε για ακόμη μία φορά την προσοχή στην σύνταξη έλεος πιά Title: 4η Εργασία-Απορίες!! Post by: Mendoza on June 20, 2007, 11:17:52 am Επειδή το γεωγραφικό μήκος είναι από 0-180 προφανώς η απεικόνηση του θα είναι μμμ..λλ.δδ έτσι?
Επίσης πώς μεταρέπουμε μοίρες από δεκαδικό σε μορφή μμ.λλ.δδ. πχ το 134,45327 πόσα λεπτά είναι,πόσα δευτερόλεπτα? Title: 4η Εργασία-Απορίες!! Post by: Mendoza on June 20, 2007, 11:25:57 am Βασικά βρήκα μια ωραία σελίδα που τα εξηγεί!!
http://www.astrovox.gr/coordinates-geo.html Title: 4η Εργασία-Απορίες!! Post by: TED on June 20, 2007, 11:36:30 am μία μοίρα έχει 60 λεπτά και ένα λεπτό έχει 60 δευτερόλεπτα...
ουσιαστικά ο αριθμός 134,45327 μπορεί να διατυπωθεί έτσι: 134 μοίρες και 45327/100000 της μοίρας. Το (45327/100000)*60 είναι σε λεπτά, οπότε άν απομονώσουμε το ακέραιο μέρος μένει ένα κλάσμα το οποίο θα πολλαπλασιάσουμε πάλι με 60. το ακέραιο μέρος εκείνου θα είναι λεπτά. προφανώς αν υπάρχουν και άλλα δεκαδικά ψηφεία θα τα παραλείψουμε... Title: 4η Εργασία-Απορίες!! Post by: Tempus Fugit on June 20, 2007, 12:46:08 pm αυριο?μπαααα εγω αυριο θα κανω βουτιες...πλατσα πλουτσα....στη χαλκιδικη........καλο μαθημα ;D ;D Μπάν στον ^^DaRk_HunTeR εδώ και τώρα, επειδή πάει Χαλκιδική κ εμείς πήζουμε! ^knuppel^ ^knuppel^ ^knuppel^ (Με την πρόφαση βέβαια ότι είναι οφφτόπικ. :D) Κάτι σαν τα πράσινα σταράκια. Title: 4η Εργασία-Απορίες!! Post by: Tempus Fugit on June 20, 2007, 12:52:23 pm "Τελευταίο Μηνυμα: Σήμερα στις 11:36:30"
Ελέος παιδιά!! ^crazy^ ^crazy^ ^crazy^ Αντε, καλή αρχή και μ' ένα πόνο να βγεί... Title: 4η Εργασία-Απορίες!! Post by: ampoulog on June 20, 2007, 15:44:41 pm Καιρός να ανοίξω και εγώ κανά τοπικ :P Για την σημείωση γ Ο έλεγχος της εναέριας κυκλοφορίας στην περιοχή ενός αεροδρομίου υλοποιείται με τον ορισμό ενός συστήματος καρτεσιανών συντεταγμένων στο οποίο ο άξονας των x ταυτίζεται με τη διεύθυνση βοράς – νότος και η αρχή των αξόνων με το κέντρο της βάσης στήριξης του ραντάρ του αεροδρομίου. Σε κάθε στιγμή η θέση ενός αεροπλάνου προσδιορίζεται από την απόσταση του r από το ραντάρ και από το αζιμούθιο της θέσης του (ως αζιμούθιο ορίζεται η γωνία που σχηματίζει η ευθεία ραντάρ – αεροπλάνο με τη διεύθυνση του βορά μετρούμενη κατά την αντίστροφη φορά των δεικτών του ωρολογίου)(πολικές συντεταγμένες). Το στίγμα (γεωγραφικό μήκος και πλάτος) του αεροπλάνου προσδιορίζεται σε μοίρες προσθέτοντας στο γεωγραφικό μήκος του ραντάρ του αεροδρομίου την τιμή 0,009y και στο γεωγραφικό πλάτος του ραντάρ την τιμή 0,009x. Όπου x και y οι καρτεσιανές συντεταγμένες σε χιλιόμετρα του αεροπλάνου σε σχέση με το σύστημα συντεταγμένων που ορίσθηκε στο αεροδρόμιο. Ζητείται να γραφεί το πρόγραμμα στο οποίο να ορίζεται η συνάρτηση void cl_pos(…) η οποία δέχεται μέσα από τα ορίσματά της την απόσταση και το αζιμούθιο ενός αεροπλάνου και υπολογίζει το στίγμα του και τις καρτεσιανές συντεταγμένες του ως προς το σύστημα συντεταγμένων του αεροδρομίου. Η συνάρτηση main του προγράμματος να διαβάζει το στίγμα του αεροδρομίου, τον αριθμό της πτήσης, την απόσταση και το αζιμούθιο για n αεροπλάνα, να χρησιμοποιεί τη συνάρτηση cl_pos για να υπολογίσει το στίγμα και τις καρτεσιανές συντεταγμένες τους και να εκτυπώνει τον αριθμό της πτήσης και τα στίγματα όλων των αεροπλάνων. Ακόμη να τυπώνει τον αριθμό της πτήσης, το στίγμα και ένα προειδοποιητικό μήνυμα για όσα αεροπλάνα βρεθούν να απέχουν μεταξύ τους απόσταση μικρότερη από 10 χιλιόμετρα. Το στίγμα να τυπώνεται στην οθόνη με τη μορφή μμ.λλ.δδ . Για την μετατροπή του στίγματος σε αυτήν τη μορφή να γραφεί η συνάρτηση void cover(…) η οποία δέχεται ως όρισμα μια γωνία σε μοίρες (μορφή δεκαδικού αριθμού) και επιστρέφει τις ακέραιες μοίρες τα λεπτά και τα δευτερόλεπτα. Σημείωση: α) Να μην χρησιμοποιηθούν πουθενά γενικές μεταβλητές. β)Η μνήμη για τους πίνακες που θα χρησιμοποιηθούν να δεσμεύεται δυναμικά. γ) Οι συναρτήσεις cl_pos και cover δε διαβάζουν τιμές και δεν τυπώνουν αποτελέσματα. Μπορεί κανείς να μου εξηγήσει τι σημαίνει <<δεν διαβάζουν τιμές>>; Τότε τα ορίσματά τους τι είναι ; Title: 4η Εργασία-Απορίες!! Post by: Mendoza on June 20, 2007, 15:47:24 pm Εννοεί δεν τους δίνεις τιμές μεσω Scanf!!
Title: 4η Εργασία-Απορίες!! Post by: ampoulog on June 20, 2007, 15:52:25 pm Εννοεί δεν τους δίνεις τιμές μεσω Scanf!! Δηλαδή δεν χρησιμοποιείς scanf για να λάβεις αυτές τις τιμές (το κάνεις με την get πχ) ή δεν την χρησιμοποιείς μέσα στην συνάρτηση;Title: 4η Εργασία-Απορίες!! Post by: Mendoza on June 20, 2007, 15:58:37 pm Δεν χρησιμοποιυμε ούτε scanf μέσα στις συναρτήσεις,ούτε getche ή οποιαδήποτε άλλη εντολή που θα βοηθήσει τον χρήστη να περάσει τιμή σε συνάρτηση..Οι τιμές θα περνάνει μέσα από τα ορίσματα των συναρτήσεων,είτε απλά,είτε με δείκτη.
Title: 4η Εργασία-Απορίες!! Post by: Mendoza on June 20, 2007, 16:08:14 pm Eπίσης επειδή μάλλον θα απαιτείται η χρήση τριγωνομετρικών συναρτήσεων που είναι στο math.h ορίστε και μια ωραία σελίδα που εξηγεί τη χρήση τους,με παραδείγματα..
http://www.cplusplus.com/reference/clibrary/cmath/cos.html Ευχαριστώ την δεσποινίς NINJA!! :) χαζό Title: 4η Εργασία-Απορίες!! Post by: ampoulog on June 20, 2007, 16:48:58 pm Thanks
Title: 4η Εργασία-Απορίες!! Post by: ampoulog on June 20, 2007, 18:34:21 pm Μήπως μπορεί κάποιος να μου εξειγήσει πως ορίζουμε έναν πίνακα με την malloc και στην συνέχεια πως εισάγουμε δεδομένα στον πίνακα αυτόν;
Title: 4η Εργασία-Απορίες!! Post by: vasso on June 20, 2007, 19:06:47 pm Δεν θα ήταν καλύτερα για όλους μας αν τα διαβάζαμε από σημειώσεις και ίντερνετ και μετά να ρωτούσαμε ό,τι δεν ήταν σαφές;
Title: 4η Εργασία-Απορίες!! Post by: sarovios on June 20, 2007, 19:58:22 pm Με μια πρωτη αναγνωση η εργασια μου φαινεται εξωγηινη!!!! (Οπωσ παντα υπερβολικος...) ;D
Title: 4η Εργασία-Απορίες!! Post by: ampoulog on June 20, 2007, 20:03:04 pm Δεν θα ήταν καλύτερα για όλους μας αν τα διαβάζαμε από σημειώσεις και ίντερνετ και μετά να ρωτούσαμε ό,τι δεν ήταν σαφές; Αυτό που λέω είναι ότι δεν το κατάλαβα αυτό (και έχω διαβάσει).Αναφέρομαι σε άτομα που θέλουν να βοήθησουν . Και όχι σε άτομα που μπαίνουν για να ειρωνευτούν !! Title: 4η Εργασία-Απορίες!! Post by: stefos on June 20, 2007, 21:35:58 pm "...Η συνάρτηση main του προγράμματος να διαβάζει το στίγμα του αεροδρομίου, τον αριθμό της πτήσης..."
Το στίγμα του αεροδρομίου συναρτήσει των συντεταγμένων του κάθε αεροπλάνου εννοει; Δεν μπορώ να το καταλάβω... Title: 4η Εργασία-Απορίες!! Post by: Mendoza on June 20, 2007, 21:53:17 pm Εννοεί το γεωγραφικό στίγμα του, αυτό έχει σχέση με τον ισημερινό και τον μεσημβρινό του Γκρίνουιτς..που φυσικά δεν μας ενδιαφέρουν :P..δηλαδή θα είναι δύο καθαροί αριθμοί τύπου float ή double,ένας για το γεωγραφικό πλάτος και ένας για το γεωγραφικό μήκος
Title: 4η Εργασία-Απορίες!! Post by: totti10 on June 21, 2007, 17:05:52 pm Ρε παιδιά, μπορεί κανείς να μου πει τι θα επιστρέφει η cl_pos στη main? Γιατί αφού δεν επιτρέπεται να διαβάζει τιμή μέσω scanf ούτε και να τυπώνει αποτελέσματα πρέπει αυτά που υπολογίζει να τα επιστρέφει στο κύριο πρόγραμμα. Και αφού γίνεται αυτό, πώς γίνεται ο τύπος της συνάρτησης να είναι void?
Title: 4η Εργασία-Απορίες!! Post by: Mendoza on June 21, 2007, 17:12:24 pm Tα επιστρέφει μέσω δεικτών..πχ πες ορίζεις στην main int i=0; και έπειτα καλείς την συνάρτηση aris(&i),όπου έχεις κρατήσει πρωτότυπο στην aris
της μορφή aris(int *p)..κάνεις μέσα στη συνάρτηση την πράξη *p=5; και επιστρέφεις στην main..τότε το i της main εχει αλλάξει και έχει πάρει την τιμή i=5;..με αυτή τη λογική επιστρέφεις τα αποτελέσματα των συναρτήσεων void στην main.. Title: 4η Εργασία-Απορίες!! Post by: TED on June 21, 2007, 17:17:33 pm Tα επιστρέφει μέσω δεικτών..πχ πες ορίζεις στην main int i=0; και έπειτα καλείς την συνάρτηση aris(&i),όπου έχεις κρατήσει πρωτότυπο στην aris της μορφή aris(int *p)..κάνεις μέσα στη συνάρτηση την πράξη *p=5; και επιστρέφεις στην main..τότε το i της main εχει αλλάξει και έχει πάρει την τιμή i=5;..με αυτή τη λογική επιστρέφεις τα αποτελέσματα των συναρτήσεων void στην main.. ουσιαστικά δηλαδή, δίνουμε σαν τιμή στην συνάρτηση την Διευθυνση της μεταβλητής μας και όχι την τιμή της, και η συνάρτηση αλλάζει το περιεχόμενο της διεύθυνσης αυτής. Οπότε δεν χρειάζεται να επιστρέψει κάποια τιμή, αρκεί που εκτελείται! Title: 4η Εργασία-Απορίες!! Post by: ampoulog on June 21, 2007, 17:49:53 pm Μήπως μπορεί να δώσει κάποιος ένα παράδειγμα πως γίνεται αυτό γιατί έχω κολλήσει άγρια.
Title: 4η Εργασία-Απορίες!! Post by: Wade on June 21, 2007, 17:53:02 pm Στα παραδείγματα που υπάρχουν στο eTHMMY, το pr13.cpp είναι ένα καλό παράδειγμα κλήσης με αναφορά :)
Title: 4η Εργασία-Απορίες!! Post by: ampoulog on June 21, 2007, 18:00:21 pm Βασικά θα προτιμούσα ένα παράδειγμα κλίσης με αναφορά στοιχεία πίνακα που έχει δεσμευθεί δυναμικά,
και η συνάρτηση να αποθηκεύει τα νέα στοιχεία σε έναν πίνακα που δεσμεύεται και αυτός δυναμικά . Title: 4η Εργασία-Απορίες!! Post by: Wade on June 21, 2007, 18:04:03 pm Δεν νομίζω πως έχει καμία ουσιώδη διαφορά... Απλώς χρησιμοποιείς τη μνήμη που δεσμεύεις δυναμικά όπως θα χρησιμοποιούσες έναν φυσιολογικό πίνακα κάνοντας κλήση με αναφορά, και θα αναφέρεσαι στα στοιχεία τους ως *(A+i) , που επιστρέφει το περιεχόμενο της i-οστής θέσης του πίνακα. Το A πρέπει να είναι ένας pointer, αφού η malloc δέχεται pointer.
Ελπίζω να τα λέω σωστά :-[ Title: 4η Εργασία-Απορίες!! Post by: vasso on June 21, 2007, 18:12:45 pm υπάρχει κάποιος γρήγορος τρόπος να παίρνω το ακέραιο μέρος ενός αριθμού; γιατί αυτό που σκέφτηκα είναι κάπως μεγάλο...
Title: 4η Εργασία-Απορίες!! Post by: ampoulog on June 21, 2007, 18:13:35 pm Βασικά έχω κάνει άποιρες δοκιμές από χτες και συνέχως μου χτηπάει λάθη ή όταν αποφασίσει να τρέξει δεν βγάζει το επιθυμητό αποτέλεσμα.
Και δεν ξέρω και που ακριβώς κάνω το λάθος. (με έχουν μπερδέψει πάρα πολύ οι pointers αυτή την στιγμή) Title: 4η Εργασία-Απορίες!! Post by: Mendoza on June 21, 2007, 18:45:58 pm υπάρχει κάποιος γρήγορος τρόπος να παίρνω το ακέραιο μέρος ενός αριθμού; γιατί αυτό που σκέφτηκα είναι κάπως μεγάλο... Aν εχεις πχ 34,56783 και θέλεις να πάρεις το ακέραιο μέρος διαιρείς με 1.αρα κάνεις χ=34,56783/1;Και το χ ισούται με 34! το χ να είναι int! Title: 4η Εργασία-Απορίες!! Post by: vasso on June 21, 2007, 18:51:29 pm αυτό εφόσον κάνω
χ=(int)(χ/1) ? Title: 4η Εργασία-Απορίες!! Post by: vasso on June 21, 2007, 18:52:36 pm θυμάμαι κάτι που έπαιξε σε μία παρουσίαση που έμοιαζε με [α/β] και σήμαινε το ακέραιο μέρος αλλά δεν θυμάμαι αν ήταν σε C :-[
Title: 4η Εργασία-Απορίες!! Post by: Wanderer on June 21, 2007, 19:32:57 pm Βρε Board τί λες; :???: Το "/" είναι διαίρεση κανονική και δίνει δεκαδικό αν δεν διαιρείται ακριβώς (αν είναι π.χ.float η μεταβλητή).
Title: 4η Εργασία-Απορίες!! Post by: ^^DaRk_HunTeR on June 21, 2007, 19:36:10 pm ;D ;D ;D :D :D :D .......... θα ξεχασω και αυτα τα λιγα που ξερω :P
Title: 4η Εργασία-Απορίες!! Post by: Wanderer on June 21, 2007, 19:39:39 pm Μάλλον εννούσε όταν ο αριθμός είναι integer και τον διαιρέσεις με κάτι και δεν διαιρείται ακριβώς, τότε επιστρέφει ως τιμή το ακέραιο μέρος.
Ηρέμησε Darky, focus σε αυτά που ξέρεις και μην παρασύρεσαι! :D Title: 4η Εργασία-Απορίες!! Post by: ^^DaRk_HunTeR on June 21, 2007, 19:43:10 pm καλα μπαμπα :P
Title: 4η Εργασία-Απορίες!! Post by: Mendoza on June 21, 2007, 19:50:46 pm Η μάλλον..δεν είναι το ίδιο..δεν είναι κανονική διαίρεση..δίνει το ακέραιο μέρος του πηλίκου,ανεξάρτητα αν είναι float double..γιατί με μπερδεύετε ρε? :P
Title: 4η Εργασία-Απορίες!! Post by: Wanderer on June 21, 2007, 19:52:21 pm Εχμ...δεν νομίζω :-\ Κανονική διαίρεση είναι.
Title: 4η Εργασία-Απορίες!! Post by: ^^DaRk_HunTeR on June 21, 2007, 19:54:40 pm Η μάλλον..δεν είναι το ίδιο..δεν είναι κανονική διαίρεση..δίνει το ακέραιο μέρος του πηλίκου,ανεξάρτητα αν είναι float double..γιατί με μπερδεύετε ρε? :P μαλλον ζαλιστηκες για δες στην σελ 18 των σημειωσεωνTitle: 4η Εργασία-Απορίες!! Post by: Wanderer on June 21, 2007, 19:55:13 pm Τρέξτο και θα διαπιστώσεις ότι είναι διαίρεση κανονική!
Ή αν δεχθούμε χωρίς να το τρέξουμε ότι δεν είναι κανονική διαίρεση, τότε το σύμβολο της διαίρεσης της κανονικής ποιό είναι; :D Κανονική διαίρεση είναι. :P Title: 4η Εργασία-Απορίες!! Post by: Mendoza on June 21, 2007, 19:56:33 pm Ωχχ σόρρυ παιδιά λέω βλακείες...σβύνω αμέσως τα προηγούμενα ποστ..σόρρυ Wanderer..!!
εβαζα 3,454 στον compiler κ οχι 3.454 εξυπνάκια.. :P Title: 4η Εργασία-Απορίες!! Post by: Wanderer on June 21, 2007, 19:57:23 pm Καλά ντε μην κάνεις έτσι :( δεν χρειάζεται να σβήσεις τίποτα, τα λάθη ανθρώπινα είναι.
Title: 4η Εργασία-Απορίες!! Post by: Mendoza on June 21, 2007, 19:59:07 pm Για να μην μπερδέψω κανέναν...
Title: 4η Εργασία-Απορίες!! Post by: ^^DaRk_HunTeR on June 21, 2007, 20:00:08 pm αν τα σβησεις θα μπερδευτουν περισσοτερο :P αστο για να μην κανει κανεις το ιδιο λαθος
Title: 4η Εργασία-Απορίες!! Post by: stefos on June 21, 2007, 20:32:20 pm Ρε παιδια εγω βρισκω σωστα το ακεραιο μερος ενος δεκαδικου με τον τροπο που ειπε ο Board.
χθες εκανα πολλα παραδειγματα κ εβγαζε σωστο αποτελεσμα. Μηπως φταιει ο compiler μου; Ειναι ο dev. Title: 4η Εργασία-Απορίες!! Post by: stefos on June 21, 2007, 20:38:51 pm Αλλο που δεν καταλαβαινω ειναι γιατι πρεπει η main να διαβαζει το στιγμα του αεροδρομιου εφοσον μας λεει στην αρχη οτι η θεση του ρανταρ ταυτιζεται με την αρχη των αξονων...
Title: 4η Εργασία-Απορίες!! Post by: vasso on June 21, 2007, 20:44:52 pm γιατί το στίγμα είναι σε σχέση με τη θέση του στη γη. Οι συντεταγμένες είναι στο καρτεσιανό που ορίζεται από το ραντάρ ως σημείο 0 και τους άξονες Βορρά-Νότο (χ-χ') και Δύση-Ανατολή (ψ-ψ')
Στην ουσία, έχουμε 3 συστήματα. Ένα το πολικό, με κέντρο το ραντάρ, ένα το καρτεσιανό με κέντρο πάλι το ραντάρ και ένα το "γεωγραφικό" που ο τρόπος να το υπολογίζεις δίνεται στην άσκηση Title: 4η Εργασία-Απορίες!! Post by: Wade on June 21, 2007, 21:00:18 pm Για να πάρετε το ακέραιο μέρος, μπορεί να βοηθήσει η συνάρτηση floor, που βρίσκεται στη βιβλιοθήκη math.h. Στρογγυλοποιεί έναν αριθμό προς τα κάτω.
Title: 4η Εργασία-Απορίες!! Post by: stefos on June 21, 2007, 21:01:26 pm Καμια ιδεα για το πως θα υπολογισουμε το δεκαδικο μερος η τεσπα το κομματι που βρισκεται μετα την υποδιαστολη;
Χρησιμοποιω το % αλλα βγαζει error o compiler. Vasso thanx... κ sorry για τις μαζεμενες αποριες... Title: 4η Εργασία-Απορίες!! Post by: Wade on June 21, 2007, 21:02:17 pm Καμια ιδεα για το πως θα υπολογισουμε το δεκαδικο μερος η τεσπα το κομματι που βρισκεται μετα την υποδιαστολη; Χρησιμοποιω το % αλλα βγαζει error o compiler. Vasso thanx... κ sorry για τις μαζεμενες αποριες... Με τη συνάρτηση floor βρίσκεις το ακέραιο μέρος και το αφαιρείς από τον αρχικό αριθμό :) Title: 4η Εργασία-Απορίες!! Post by: fkoufis on June 21, 2007, 22:54:26 pm Και πιο σύντομα απλά αλλάζεις τον τύπο της μεταβλητής από double ή float σε int με type casting...
Και ξεφορτώνεσαι τα δεκαδικά... Title: 4η Εργασία-Απορίες!! Post by: Wanderer on June 21, 2007, 23:43:06 pm Και εγώ με παρόμοιο τρόπο το έκανα, αλλά δεν άλλαξα τον τύπο της μεταβλητής (δλδ μετά τον επανέφερα στον αρχικό της τύπο για να κάνω την εξίσωση, έτσι παραμένει float/double).
υ.γ.η υπογραφή σου είναι καταπληκτική! :) Title: 4η Εργασία-Απορίες!! Post by: georngeo on June 22, 2007, 16:47:59 pm Για το ακεραιο μερος ενος αριθμου πχ p
a=p%1; a=p-a; μλκια? :P :o Title: 4η Εργασία-Απορίες!! Post by: Mendoza on June 22, 2007, 17:22:03 pm δεν το πιασα? :???:γιατί κάνεις a=p-a; άμα θες τον ακέραιο?
η διαίρεση με το 1 αρκεί..η μεταβλητή a είναι int ετσι? Επίσης ακόμα καλύτερα,για να μην κάνεις την διαίρεση χρησιμοποίησε την συνάρτηση floor όπως λέει ο Wade ή κάνε a=(int)p; όπως λένε οι αποπάνω..με a πάλι τύπου int Title: 4η Εργασία-Απορίες!! Post by: vasso on June 22, 2007, 18:19:35 pm Για το ακεραιο μερος ενος αριθμου πχ p a=p%1; a=p-a; μλκια? :P :o Βασικά ναι, δεν παίζει να δουλεύει γιατί το % (μόντουλο) σου δίνει το υπόλοιπο της διαίρεσης και όχι το πηλίκο... Title: 4η Εργασία-Απορίες!! Post by: georngeo on June 22, 2007, 18:49:06 pm Για το ακεραιο μερος ενος αριθμου πχ p a=p%1; a=p-a; μλκια? :P :o Βασικά ναι, δεν παίζει να δουλεύει γιατί το % (μόντουλο) σου δίνει το υπόλοιπο της διαίρεσης και όχι το πηλίκο... Τρεξε αυτο #include <stdio.h> #include <stdlib.h> void main() { int p,a; scanf("%d",&p); a=p%1; a=p-a; printf("\n"); printf("\n %d",a); system("PAUSE"); return 0; } δωσε ενα δεκαδικο βασικα μεχρι 128 νομιζω Title: 4η Εργασία-Απορίες!! Post by: sotos on June 22, 2007, 21:04:29 pm Για το ακεραιο μερος ενος αριθμου πχ p a=p%1; a=p-a; μλκια? :P :o Γιατί ρε συ να μην λειτουργει..Δεν το τρεξα αλλα υπολογιζεις το υπολοιπο με το 1 αρα το 0,(δεκαδικο μερος) και μετα το αφαιρεις απο το πρώτο.......και εχεις το ακεραιο μέρος.Μου φαινεται σωστό. { ; ^peace^*********το πρωτο μου post***************^peace^ } Title: 4η Εργασία-Απορίες!! Post by: vasso on June 22, 2007, 21:12:07 pm ναι, πλάκα πλάκα όπως το θέτετε έχετε δίκιο... Παρασύρθηκα με τα απλά μαθηματικά του δημοτικού όπου α/1= α και το υπόλοιπο είναι 0... Αααχ.. ωραίες εποχές τότε...
Title: 4η Εργασία-Απορίες!! Post by: Wanderer on June 22, 2007, 22:24:46 pm Αν μου βγάζει τα δευτερόλεπτα αντί για μηδέν που τυπικά έστω ότι είναι το κανονικό για κάποιες τιμές, μου τα βγάλει 0,001 ή 0,0001 πειράζει ή έχει να κάνει με τον τρόπο λειτουργίας του compiler; Θέλω να πω, και το matlab ας πούμε κάτι τέτοια έκανε ώρες-ώρες (έβγαζε με προσέγγιση το 4 3,999 ή 4,001).
Ένα ποιό απτό παράδειγμα: αν του δώσετε μια float μεταβλητή με τιμή 3,9999999999 και την κάνετε int, θα σας δώσει 4 και όχι 3. Αν της δώσετε μικρότερη έκταση, π.χ.3,9999 τότε θα σας την κάνει 3. Αυτό το παράδοξο μόνο στο "9" το έχω εντοπίσει, αν δώσετε 3,88888888888888888888 τότε θα σας βγάλει κανονικά 3. .. Και κάτι για τη free: Το όρισμα λέει ότι πρέπει να είναι τύπου void, αλλά στο βιβλίο βάζει κανονικά μέσα και μεταβλητή int, χωρίς να την κάνει void, ενώ σε ένα παράδειγμα ο Κορτέσης την κάνει πρώτα void. Τελικά πρέπει απαραίτητα να την κάνουμε void; Title: 4η Εργασία-Απορίες!! Post by: Mendoza on June 22, 2007, 22:28:49 pm εγώ την βάζω κατ ευθείαν..κ στο βιβλίο της C ο Schild το βάζει κατ ευθείαν..
και για ένα περίεργο λογο όταν πάω να το κάνω όπως ο Κορτέσης μου βγάζει error! ^shifty^ Title: 4η Εργασία-Απορίες!! Post by: Wanderer on June 22, 2007, 23:06:49 pm :D ντόιγκ! Αν και εμένα πάντως δεν μου βγάζει error, αλλά μιας και γίνεται κατευθείαν, και μου φαίνεται και λογικότερο, θα το κάνω κατευθείαν.
Title: 4η Εργασία-Απορίες!! Post by: PallasFTW on June 23, 2007, 00:12:47 am ^off-topic^ πόσες βδομάδες, συνεπώς και εργαστήρια αρα και εργασίες εχουν μείνει μέχρι να τελειώσουμε???? ^lypi^
Title: 4η Εργασία-Απορίες!! Post by: Wanderer on June 23, 2007, 00:21:10 am Ε αφου τελειώνουμε 6 Ιουλίου, πάνω-κάτω 2 δεν θα'ναι;
Title: 4η Εργασία-Απορίες!! Post by: ampoulog on June 23, 2007, 14:04:31 pm Μου εμφανίζει το παρακάτω error :
'cl_pos': cannot convert parameter 3 from 'double**'to 'double*' Μήπως μπορεί να μου εξηγήσει κάποιος τι εννοεί; Title: 4η Εργασία-Απορίες!! Post by: mysterious on June 23, 2007, 18:39:48 pm "Το στίγμα (γεωγραφικό μήκος και πλάτος) του αεροπλάνου προσδιορίζεται σε μοίρες προσθέτοντας στο γεωγραφικό μήκος του ραντάρ του αεροδρομίου την τιμή 0,009y και στο γεωγραφικό πλάτος του ραντάρ την τιμή 0,009x."
Δηλαδή ποιός είναι ο τύπος για το στίγμα?? Title: 4η Εργασία-Απορίες!! Post by: TeeKay on June 23, 2007, 19:30:42 pm Κι επίσης, τι ακριβώς είναι το γεωγραφικό πλάτος και μήκος;
Title: 4η Εργασία-Απορίες!! Post by: mysterious on June 23, 2007, 19:41:09 pm Κι επίσης, τι ακριβώς είναι το γεωγραφικό πλάτος και μήκος; Για το γεωγραφικό πλάτος και μήκος δείτεεδώ (http://el.wikipedia.org/wiki/%CE%93%CE%B5%CF%89%CE%B3%CF%81%CE%B1%CF%86%CE%B9%CE%BA%CE%AD%CF%82_%CF%83%CF%85%CE%BD%CF%84%CE%B5%CF%84%CE%B1%CE%B3%CE%BC%CE%AD%CE%BD%CE%B5%CF%82) Το στίγμα είναι ένας αριθμός ή δύο (δλδ γεωγραφικό πλάτος και μήκος)? Title: 4η Εργασία-Απορίες!! Post by: TeeKay on June 23, 2007, 20:29:25 pm Guys, προσπαθώ να δηλώσω τη συνάρτηση void cl_pos κι όταν γράφω void cl_pos(int *A[n][1],int *A[n][2]); μου βγάζει το μήνυμα "n was not declared in this scope". Τι πρέπει να κάνω; Βασικά μπορώ να θέσω σαν ορίσματα σε μια συνάρτηση στοιχεία του πίνακα;
Title: 4η Εργασία-Απορίες!! Post by: ampoulog on June 23, 2007, 20:58:06 pm Στη συνάρτηση αρκει να δηλώσεις το πρώτο στοιχείο του πίνακα.
Δοκιμασέ το και αν δεν πετύχει τα ξαναλέμε. Title: 4η Εργασία-Απορίες!! Post by: ampoulog on June 23, 2007, 21:00:58 pm Παιδια έχω super problem με την cl_pos. Κάτι κάνω λάθος και τελικά οι πίνακες που έχω δημιουργήσει εχουν διευθύνσεις και δεν μπορώ με τίποτα να τυπώσω τα σωστά αποτελέσματα.
Please Somebody Help. Title: 4η Εργασία-Απορίες!! Post by: TeeKay on June 23, 2007, 21:03:26 pm Στη συνάρτηση αρκει να δηλώσεις το πρώτο στοιχείο του πίνακα. Α, ΟΚ, ευχαριστώ! Και τώρα κάτι άλλο: Ξέρει κανέις τι σημαίνουν τα stray'\232' και '\246' που μου βγάζει συνέχεια ο compiler;Δοκιμασέ το και αν δεν πετύχει τα ξαναλέμε. Title: 4η Εργασία-Απορίες!! Post by: georngeo on June 23, 2007, 21:22:40 pm "Η συνάρτηση main του προγράμματος να διαβάζει το στιγμα του αεροδρομίου"
Τι θελει να πει ο ποιητης? :???: Title: 4η Εργασία-Απορίες!! Post by: mysterious on June 23, 2007, 21:33:40 pm "Η συνάρτηση main του προγράμματος να διαβάζει το στιγμα του αεροδρομίου" To γεωγραφικό μήκος και πλάτος του πανω στον μάταιο τούτο κόσμο υποθέτω..Τι θελει να πει ο ποιητης? :???: Και κάτι άλλο. Η cl_pos μπορει να δεχθει σαν όρισμα εκτός απ'την απόσταση και το αζιμ. και το στίγμα του αεροδρομίου, έτσι δεν είναι? Title: 4η Εργασία-Απορίες!! Post by: georngeo on June 23, 2007, 21:36:48 pm λεει να δέχεται μέσα από τα ορίσματά της την απόσταση και το αζιμούθιο ενός αεροπλάνου για στιγμα αερ. δεν λεει..
Title: 4η Εργασία-Απορίες!! Post by: mysterious on June 23, 2007, 21:40:11 pm λεει να δέχεται μέσα από τα ορίσματά της την απόσταση και το αζιμούθιο ενός αεροπλάνου για στιγμα αερ. δεν λεει.. Μα για να υπολογίσεις το στιγμα του αεροπλάνου με τη cl_pos χρειάζεσαι και το στίγμα του αεροδρομίου: ""Το στίγμα (γεωγραφικό μήκος και πλάτος) του αεροπλάνου προσδιορίζεται σε μοίρες προσθέτοντας στο γεωγραφικό μήκος του ραντάρ του αεροδρομίου την τιμή 0,009y και στο γεωγραφικό πλάτος του ραντάρ την τιμή 0,009x."" Title: 4η Εργασία-Απορίες!! Post by: georngeo on June 23, 2007, 21:48:33 pm λεει να δέχεται μέσα από τα ορίσματά της την απόσταση και το αζιμούθιο ενός αεροπλάνου για στιγμα αερ. δεν λεει.. Μα για να υπολογίσεις το στιγμα του αεροπλάνου με τη cl_pos χρειάζεσαι και το στίγμα του αεροδρομίου: ""Το στίγμα (γεωγραφικό μήκος και πλάτος) του αεροπλάνου προσδιορίζεται σε μοίρες προσθέτοντας στο γεωγραφικό μήκος του ραντάρ του αεροδρομίου την τιμή 0,009y και στο γεωγραφικό πλάτος του ραντάρ την τιμή 0,009x."" να χρησιμοποιεί τη συνάρτηση cl_pos για να υπολογίσει το στίγμα και τις καρτεσιανές συντεταγμένες τους δεν λεει η συναρτηση να υπολογιζει το στιγμα :o ισως με την σλ_πος να βρισκεις τα χ ψ να επιστρεφει τα 0.009χ/ψ και στο μαιν να υπολογιζεις το στιγμα.. Title: 4η Εργασία-Απορίες!! Post by: ampoulog on June 23, 2007, 21:58:17 pm Παιδια έχω super problem με την cl_pos. Κάτι κάνω λάθος και τελικά οι πίνακες που έχω δημιουργήσει εχουν διευθύνσεις και δεν μπορώ με τίποτα να τυπώσω τα σωστά αποτελέσματα. Please Somebody Help. Title: 4η Εργασία-Απορίες!! Post by: mysterious on June 23, 2007, 22:01:33 pm Ναι αλλά αν δεις 2 σειρες παραπάνω λεει :
να ορίζεται η συνάρτηση void cl_pos(…) η οποία δέχεται μέσα από τα ορίσματά της την απόσταση και το αζιμούθιο ενός αεροπλάνου και υπολογίζει το στίγμα του και τις καρτεσιανές συντεταγμένες του. ...και το κεφάλι μου καζάνι ^boil^ Title: 4η Εργασία-Απορίες!! Post by: Wanderer on June 23, 2007, 22:30:30 pm Μου εμφανίζει το παρακάτω error : Από ό,τι καταλαβαίνω, μάλλον έχεις δηλώσει εκ παραδρομής έναν pointer ως μεταβλητή που δείχνει τη διεύθυνση ενός άλλου pointer (π.χ. int **p--δηλαδή χρησιμοποίησες δύο αστεράκια). Ή όταν χρησιμοποίησες τη συνάρτηση μέσα στη main, έγραψες cl_pos(*p,...) ; ή cl_pos(&p,...), πράγμα λάθος, πρέπει να γράψεις clpos(p,...) και απλώς όταν φτιάχνεις τη συνάρτηση να πεις ότι το πρώτο όρισμα είναι pointer (δηλαδή double cl_pos(int * p,....) { ). Ελπίζω να βοήθησα.'cl_pos': cannot convert parameter 3 from 'double**'to 'double*' Μήπως μπορεί να μου εξηγήσει κάποιος τι εννοεί; Παιδια έχω super problem με την cl_pos. Κάτι κάνω λάθος και τελικά οι πίνακες που έχω δημιουργήσει εχουν διευθύνσεις και δεν μπορώ με τίποτα να τυπώσω τα σωστά αποτελέσματα. Έστω ότι έχεις πίνακα Ν θέσεων (π.χ. int *p=(int *)malloc(sizeof(int)*n)). Για να γράψεις κάτι στην π.χ. δεύτερη θέση, κάνεις: Please Somebody Help. (*(p+1))=2. Μετά για να το εμφανίσεις, κάνεις: printf("%d",*p). Αν το κάνεις έτσι, πάλι δεν σου βγάζει σωστά τα αποτελέσματα; λεει να δέχεται μέσα από τα ορίσματά της την απόσταση και το αζιμούθιο ενός αεροπλάνου για στιγμα αερ. δεν λεει.. Δεν λέει όμως ΜΟΝΟ την απόσταση και το αζιμούθιο. Άρα ο κάθε ένας μπορεί να το εκλάβει όπως θέλει. Επίσης όπως λέει και ο mysterious, υπάρχει και η επιπλέον απαίτηση:να ορίζεται η συνάρτηση void cl_pos(…) η οποία δέχεται μέσα από τα ορίσματά της την απόσταση και το αζιμούθιο ενός αεροπλάνου και υπολογίζει το στίγμα του και τις καρτεσιανές συντεταγμένες του. Title: 4η Εργασία-Απορίες!! Post by: georngeo on June 23, 2007, 22:35:28 pm Παιζουμε με τις λεξεις 8)
Άρα ο κάθε ένας μπορεί να το εκλάβει όπως θέλει. Καπως ετσι θα ναι Title: 4η Εργασία-Απορίες!! Post by: ilovegreece on June 23, 2007, 23:02:49 pm Λοιπον...
Code: for(i=0;i<N;i++){ Και μου βγαζει 4 φορες αυτο C:\Documents and Settings\alex\Ôá ÝããñáöÜ ìïõ\C\Åñãáóéåò\test.cpp pointer value used where a floating point value was expected και δυο αυτο C:\Documents and Settings\alex\Ôá ÝããñáöÜ ìïõ\C\Åñãáóéåò\test.cpp expected primary-expression before "float" ολα για την τελευταια σειρα του κωδικα Edit:Ξεχασα μια scanf πειτε οτι υπαρχει... Title: 4η Εργασία-Απορίες!! Post by: Wanderer on June 23, 2007, 23:13:36 pm Κατ'αρχάς δεν βάζουμε τύπους όταν εισαγουμε μεταβλητές ή pointers στις συναρτήσεις. Τύπους στα ορίσματα βάζουμε μόνο εκεί που δηλώνουμε τις συναρτήσεις. Άρα θα γράψεις cl_pos(r+i,...);
Επίσης, εκεί που δηλώνεις τη συνάρτηση μη ξεχάσεις να βάλεις το αστεράκι ( cl_pos(float *p,...) Title: 4η Εργασία-Απορίες!! Post by: ilovegreece on June 23, 2007, 23:16:00 pm Ωχ ναι παιδικο λαθος! :-[ :-[ :-[ .....Το αστερακι δεν νομιζω να χρειαζεται αν το p ειναι pointer.Αν το βαλω τοτε θα στειλω την διευθυνση του p και οχι την τιμη που περιεχει το p δηλαδη την διευθυνση που με ενδιαφερει
Title: 4η Εργασία-Απορίες!! Post by: Wanderer on June 23, 2007, 23:18:16 pm Το αστεράκι δεν χρειάζεται όταν καλείς τη συνάρτηση και θέλεις να μεταβιβάσεις τη διεύθυνση (άρα γράφεις cl_pos(p,...) και όχι cl_pos(*p,...) )
Αλλά όταν δηλώνεις την μεταβλητή, τότε προφανώς πρέπει να δηλώσεις το όρισμα π.χ. float cl_pos(float *p,...) { Title: 4η Εργασία-Απορίες!! Post by: mysterious on June 23, 2007, 23:19:42 pm Στο γεωγραφικό μήκος και πλάτος να συμπεριλάβουμε και προσανατολισμό(Ν,S,W,E)?
Title: 4η Εργασία-Απορίες!! Post by: ilovegreece on June 23, 2007, 23:20:43 pm Ναι σαφως αυτο το εκανα απλα εκανα το γελοιο λαθος στην κληση της συναρτησης :D :D :D :D
Title: 4η Εργασία-Απορίες!! Post by: ilovegreece on June 23, 2007, 23:21:14 pm Στο γεωγραφικό μήκος και πλάτος να συμπεριλάβουμε και προσανατολισμό(Ν,S,W,E)? http://el.wikipedia.org/wiki/%CE%93%CE%B5%CF%89%CE%B3%CF%81%CE%B1%CF%86%CE%B9%CE%BA%CE%AD%CF%82_%CF%83%CF%85%CE%BD%CF%84%CE%B5%CF%84%CE%B1%CE%B3%CE%BC%CE%AD%CE%BD%CE%B5%CF%82Title: 4η Εργασία-Απορίες!! Post by: Wanderer on June 23, 2007, 23:22:01 pm Στο γεωγραφικό μήκος και πλάτος να συμπεριλάβουμε και προσανατολισμό(Ν,S,W,E)? Εγώ δεν συμπεριέλαβα πάντως, δεν μας το ζητάει, μας λέει απλά ότι είναι δεκαδικός αριθμός.Title: 4η Εργασία-Απορίες!! Post by: ampoulog on June 24, 2007, 00:19:53 am Μου εμφανίζει το παρακάτω error : Από ό,τι καταλαβαίνω, μάλλον έχεις δηλώσει εκ παραδρομής έναν pointer ως μεταβλητή που δείχνει τη διεύθυνση ενός άλλου pointer (π.χ. int **p--δηλαδή χρησιμοποίησες δύο αστεράκια). Ή όταν χρησιμοποίησες τη συνάρτηση μέσα στη main, έγραψες cl_pos(*p,...) ; ή cl_pos(&p,...), πράγμα λάθος, πρέπει να γράψεις clpos(p,...) και απλώς όταν φτιάχνεις τη συνάρτηση να πεις ότι το πρώτο όρισμα είναι pointer (δηλαδή double cl_pos(int * p,....) { ). Ελπίζω να βοήθησα.'cl_pos': cannot convert parameter 3 from 'double**'to 'double*' Μήπως μπορεί να μου εξηγήσει κάποιος τι εννοεί; Παιδια έχω super problem με την cl_pos. Κάτι κάνω λάθος και τελικά οι πίνακες που έχω δημιουργήσει εχουν διευθύνσεις και δεν μπορώ με τίποτα να τυπώσω τα σωστά αποτελέσματα. Έστω ότι έχεις πίνακα Ν θέσεων (π.χ. int *p=(int *)malloc(sizeof(int)*n)). Για να γράψεις κάτι στην π.χ. δεύτερη θέση, κάνεις: Please Somebody Help. (*(p+1))=2. Μετά για να το εμφανίσεις, κάνεις: printf("%d",*p). Αν το κάνεις έτσι, πάλι δεν σου βγάζει σωστά τα αποτελέσματα; λεει να δέχεται μέσα από τα ορίσματά της την απόσταση και το αζιμούθιο ενός αεροπλάνου για στιγμα αερ. δεν λεει.. Δεν λέει όμως ΜΟΝΟ την απόσταση και το αζιμούθιο. Άρα ο κάθε ένας μπορεί να το εκλάβει όπως θέλει. Επίσης όπως λέει και ο mysterious, υπάρχει και η επιπλέον απαίτηση:να ορίζεται η συνάρτηση void cl_pos(…) η οποία δέχεται μέσα από τα ορίσματά της την απόσταση και το αζιμούθιο ενός αεροπλάνου και υπολογίζει το στίγμα του και τις καρτεσιανές συντεταγμένες του. Title: 4η Εργασία-Απορίες!! Post by: Wanderer on June 24, 2007, 01:08:37 am Από περιέργεια, κάτι που πρόσεξα:
Στις σημειώσεις για να κάνει free τη δεσμευμένη μνήμη εξισώνει void pointer με int pointer, κάνει ό,τι κάνει με τον int pointer, και μετά καλεί τη free με όρισμα μέσα τον void pointer. Όμως αν πούμε αυτό: Code: int *p=(int *)malloc(sizeof(int)*n); Μετά όταν καλούμε τη free: Επίσης στο βιβλίο, κάνει ΚΑΤΕΥΘΕΙΑΝ free(p), χωρίς δηλαδή type casting (ενώ η p έστω ότι είναι integer). Title: deleted Post by: BOBoMASTORAS on June 24, 2007, 01:27:29 am deleted
Title: 4η Εργασία-Απορίες!! Post by: Wanderer on June 24, 2007, 01:28:56 am Ευχαριστώ για τις παρατηρήσεις :)
Title: 4η Εργασία-Απορίες!! Post by: Wanderer on June 24, 2007, 01:46:48 am Α, μια ακόμη παρατήρηση:
Όταν για κάποιους υπολογισμούς χρειαστεί να κάνω type-casting, τότε ενδέχεται εκεί που πρέπει να εμφανιστεί η τιμή 0, να εμφανιστεί 0,001. Ή αντί για 100, να εμφανιστεί 99,997. Σημαίνει ότι έκανα κάποιο λάθος ή οφείλεται απλά στον τρόπο λειτουργίας του compiler και δεν πειράζει που τα βγάζει έτσι (όπως στο matlab που μπορεί αντί για 4 να εμφανίσει 3,999); Title: 4η Εργασία-Απορίες!! Post by: perukas on June 24, 2007, 14:22:15 pm ρε παιδια δεν εχω καταλαβει ακομα οταν στη συναρτηση cl_pos λεει να εφανιζουμε το στιγμα....
το θελει με τη μορφη μμ.λλ.δδ???? ή αν οχι ετσι (γιατι απ οτι καταλαβα αυτο πρεπει να υπολογιζεται στην cover) τοτε πως???? Title: 4η Εργασία-Απορίες!! Post by: anonymous-root on June 24, 2007, 14:38:18 pm Οι συντεταγμένες θεωρούνται πάντα θετικές;
Title: 4η Εργασία-Απορίες!! Post by: Mendoza on June 24, 2007, 15:45:10 pm Eγώ για χάριν ευκολίας δηλώνω στον χρήστη ότι αν δώσει αρνητικό αριθμό στο γεωγρ.πλάτος τότε σημαίνει νότια,ενώ αν δώσει αρνητικό αριθμό στο μήκος τότε σημαίνει δυτικά.Μου φάνηκε πιο εύκολα απ το να τον βάλω να δηλώνει άν είναι βόρεια,νότια.κ.τ.λ
Επίσης είναι ανάγκη να κάνουμε free την δεσμευμένη μνήμη?Αφού υποτίθεται με το τέλος του προγράμματος αποδεσμεύεται αυτόματα.. Τέλος στην free είτε γράψουμε free(p) ειτε free((float*)p) είναι το ίδιο?(Την p την δήλωσα float,κ όχι ως void όπως κάνει ο Κορτέσης) Title: 4η Εργασία-Απορίες!! Post by: Wanderer on June 24, 2007, 15:50:27 pm Και εγώ έτσι το έκανα, αφού ούτως ή άλλως, αναφέρει ρητά ότι είναι δεκαδικός αριθμός το στίγμα του αεροδρομίου (για την ακρίβεια δύο δεκαδικοί αριθμοί), άρα υποθέτω ότι δεν θέλει να πλέξουμε με βόρεια, νότια κ.λ.π.
Η ερώτησή μου γιατί πέρασε απαρατήρητη; :( Κανείς δεν ξέρει αν οφείλεται στον τρόπο λειτουργίας του compiler αυτό: Quote Όταν για κάποιους υπολογισμούς χρειαστεί να κάνω type-casting, τότε ενδέχεται εκεί που πρέπει να εμφανιστεί η τιμή 0, να εμφανιστεί 0,001. Ή αντί για 100, να εμφανιστεί 99,997. Σημαίνει ότι έκανα κάποιο λάθος ή οφείλεται απλά στον τρόπο λειτουργίας του compiler και δεν πειράζει που τα βγάζει έτσι (όπως στο matlab που μπορεί αντί για 4 να εμφανίσει 3,999); Title: 4η Εργασία-Απορίες!! Post by: Wanderer on June 24, 2007, 15:51:34 pm Οι συντεταγμένες θεωρούνται πάντα θετικές; Μπα, δεν αναφέρει κάτι τέτοιο. Αν υποτεθεί ότι το κέντρο είναι το αεροδρόμιο, μπορούν κάλλιστα να είναι και αρνητικές.Title: 4η Εργασία-Απορίες!! Post by: perukas on June 24, 2007, 17:35:36 pm ερωτηση:
πως οριζουμε δυναμικα τουσ πινακες??? μερες τωρα ψαχνω αλλα δεν καταφερνω τιποτα.... Title: 4η Εργασία-Απορίες!! Post by: mendelita on June 24, 2007, 17:36:31 pm Με malloc ή με new... ;) Title: 4η Εργασία-Απορίες!! Post by: perukas on June 24, 2007, 17:41:20 pm ναι με τη μαλλοκ αλλα πως????
δλδ. ασ πουμε οτι θελουμε να δηλωσουμε τον πινακα num_fl[n]..τυπου float(πινακας με του αριθμους πτησεων συγκεκριμενα) πως το δηλωνω\/??? Title: 4η Εργασία-Απορίες!! Post by: Wanderer on June 24, 2007, 18:43:15 pm Δες στις σημειώσεις, του Κορτέση, γράφει εκεί αναλυτικά ;)
Title: 4η Εργασία-Απορίες!! Post by: anonymous-root on June 24, 2007, 18:52:21 pm Οι καρτεσιανές συντεταγμένες Χ,Υ είναι αυτές που βγαίνουν με βάση την απόσταση και το αζιμούθιο, σωστά;
Και μετά από αυτές βρίσκουμε το στίγμα. ΕΔΙΤ: Δηλαδή: Χ=αποστασή * συν(αζιμούθιο) και στίγμα: Γεω. Μήκος = Χ + 0,009*Χ κοκ. Title: 4η Εργασία-Απορίες!! Post by: ilovegreece on June 24, 2007, 19:14:59 pm ναι με τη μαλλοκ αλλα πως???? Βιβλιο σελ 249δλδ. ασ πουμε οτι θελουμε να δηλωσουμε τον πινακα num_fl[n]..τυπου float(πινακας με του αριθμους πτησεων συγκεκριμενα) πως το δηλωνω\/??? Title: 4η Εργασία-Απορίες!! Post by: asxetos on June 24, 2007, 20:32:36 pm το συνημιτονο και το ημιτονο πως θα τα χρησιμοποιησουμε???
υπαρχουν σε καμια βιβλιοθηκη μηπως? Title: 4η Εργασία-Απορίες!! Post by: asxetos on June 24, 2007, 20:44:54 pm το βρηκα.....
Title: 4η Εργασία-Απορίες!! Post by: pitsa on June 24, 2007, 20:54:00 pm paidia...as mou ekshghsei kapoios pws leitourgei h xamenh h malloc plzzzzz.........
^beg^ Title: 4η Εργασία-Απορίες!! Post by: ^^DaRk_HunTeR on June 24, 2007, 21:34:03 pm Οι καρτεσιανές συντεταγμένες Χ,Υ είναι αυτές που βγαίνουν με βάση την απόσταση και το αζιμούθιο, σωστά; εχω την εντυπωση οτι ειναι γ_μ=γ_μ+0.009*y(αρα εκανες 2 λαθη) γιατι λεει "Το στίγμα (γεωγραφικό μήκος και πλάτος) του αεροπλάνου προσδιορίζεται σε μοίρες προσθέτοντας στο γεωγραφικό μήκος του ραντάρ του αεροδρομίου την τιμή 0,009y και στο γεωγραφικό πλάτος του ραντάρ την τιμή 0,009x"Και μετά από αυτές βρίσκουμε το στίγμα. ΕΔΙΤ: Δηλαδή: Χ=αποστασή * συν(αζιμούθιο) και στίγμα: Γεω. Μήκος = Χ + 0,009*Χ κοκ. Title: 4η Εργασία-Απορίες!! Post by: Wanderer on June 24, 2007, 23:40:55 pm Οι καρτεσιανές συντεταγμένες Χ,Υ είναι αυτές που βγαίνουν με βάση την απόσταση και το αζιμούθιο, σωστά; Εγώ από την εκφώνηση κατάλαβα ότι δίνουμε το γεωγραφικό στίγμα του αεροδρομίου (δηλαδή δύο δεκαδικούς αιρθμούς οι οποίοι είναι σταθεροί και "αρχή" των αξόνων) και μετά υπολογίζουμε το γεωγραφικό στίγμα των αεροπλάνων ως εξής: Βρίσκουμε τα Χ και Υ με τους τύπους που ανέφερες και μετά:Και μετά από αυτές βρίσκουμε το στίγμα. ΕΔΙΤ: Δηλαδή: Χ=αποστασή * συν(αζιμούθιο) και στίγμα: Γεω. Μήκος = Χ + 0,009*Χ κοκ. μήκος_αεροπλάνου=μήκος_αεροδρομίου+0,009*y πλάτος_αεροπλάνου=πλάτος_αεροδρομίου+0,009*x Οπότε θα συμφωνήσω με τον Dark Hunter. Title: 4η Εργασία-Απορίες!! Post by: BabylonX on June 24, 2007, 23:54:10 pm Οι καρτεσιανές συντεταγμένες Χ,Υ είναι αυτές που βγαίνουν με βάση την απόσταση και το αζιμούθιο, σωστά; Εγώ από την εκφώνηση κατάλαβα ότι δίνουμε το γεωγραφικό στίγμα του αεροδρομίου (δηλαδή δύο δεκαδικούς αιρθμούς οι οποίοι είναι σταθεροί και "αρχή" των αξόνων) και μετά υπολογίζουμε το γεωγραφικό στίγμα των αεροπλάνων ως εξής: Βρίσκουμε τα Χ και Υ με τους τύπους που ανέφερες και μετά:Και μετά από αυτές βρίσκουμε το στίγμα. ΕΔΙΤ: Δηλαδή: Χ=αποστασή * συν(αζιμούθιο) και στίγμα: Γεω. Μήκος = Χ + 0,009*Χ κοκ. μήκος_αεροπλάνου=μήκος_αεροδρομίου+0,009*y πλάτος_αεροπλάνου=πλάτος_αεροδρομίου+0,009*x Οπότε θα συμφωνήσω με τον Dark Hunter. Title: 4η Εργασία-Απορίες!! Post by: Wade on June 25, 2007, 00:25:53 am Όσον αφορά τη χρήση της συνάρτησης free... Στις σημειώσεις λέει ότι "πρέπει να δοθεί ιδιαίτερη προσοχή στην τιμή και στον τύπο του pointer που θα δοθεί στη free(), διότι σε περίπτωση λάθους το αποτέλεσμα δεν μπορεί να προσδιοριστεί". Όπως το καταλαβαίνω, ο pointer πρέπει να είναι τύπου void... Αλλά σε παραδείγματα που βρήκα, και σύμφωνα με τον BOB, χρησιμοποιείται και με άλλων τύπων pointers. Τι θα κάνουμε στην free() που θα χρησιμοποιήσουμε; :-\
Title: deleted Post by: BOBoMASTORAS on June 25, 2007, 03:17:24 am deleted
Title: 4η Εργασία-Απορίες!! Post by: TED on June 25, 2007, 03:42:47 am Quote άξονας των x ταυτίζεται με τη διεύθυνση βοράς – νότος Πράγμα που σημαίνει πως το χ εκφράζει το γεωγραφικό μήκος (?) Quote η αρχή των αξόνων με το κέντρο της βάσης στήριξης του ραντάρ του αεροδρομίου. άρα το radar είναι το 0,0. Quote Το στίγμα (γεωγραφικό μήκος και πλάτος) του αεροπλάνου προσδιορίζεται σε μοίρες προσθέτοντας στο γεωγραφικό μήκος του ραντάρ του αεροδρομίου την τιμή 0,009y και στο γεωγραφικό πλάτος του ραντάρ την τιμή 0,009x. Εμένα γιατί μου βγαίνει πως το γεωγραφικό μήκος και πλάτος του radar του αεροδρομίου είναι πάντα το 0,0?? Quote Η συνάρτηση main του προγράμματος να διαβάζει το στίγμα του αεροδρομίου, τον αριθμό της πτήσης, την απόσταση και το αζιμούθιο για n αεροπλάνα, Θεωρούμε πως αντί για το γεωγραφικό πλάτος και μήκος του ραντάρ, που είναι 0,0 ΉΘΕΛΕ ΝΑ ΠΕΙ πως θα πρέπει να χρησιμοποιήσουμε το γεωγραφικό μήκος και πλάτος του αεροδρομίου. Τότε, ως στίγμα του αεροδρομίου τί ορίζουμε; την γωνία που σχηματίζει; Άν ναι δεν μπορουμε να ξέρουμε τα Χ και Υ... Title: 4η Εργασία-Απορίες!! Post by: mast on June 25, 2007, 12:55:51 pm (Ακυρο αγνοηστε αυτο το μηνυμα)
Παιδια βοηθεια... Αν και εχει ξαναζητηθει προηγουμενως στο forum δεν πολυκαταλαβα οποτε ξεναρωταω. Η cl_pos δεχεται ορισματα την αποσταση και το αζιμουθιο. Μετα υπολογιζει οτι υπολογιζει. Αλλα ειναι void επομενως δεν επιστρεφει τιμη. Αφου δεν θα τα εκτυπωσουμε αυτα που υπολογισαμε,τι σκ..α θα τα κανουμε, που θα τα αποθηκευσουμε και πως; Title: 4η Εργασία-Απορίες!! Post by: igoutas on June 25, 2007, 16:01:04 pm Μπορει κανεις να γραψει λιγο την void_cover γιατι ολο μου βγαζει λαθος?? :'( :'( :'Please!!!!
Title: 4η Εργασία-Απορίες!! Post by: TED on June 25, 2007, 16:23:14 pm Μπορει κανεις να γραψει λιγο την void_cover γιατι ολο μου βγαζει λαθος?? :'( :'( :'Please!!!! void cover(float stigma, int *m, int *l, int *d) { *m=(int)stigma; stigma-=(int)stigma; stigma*=60; *l=(int)stigma; stigma-=(int)stigma; stigma*=60; *d=(int)stigma; } Title: 4η Εργασία-Απορίες!! Post by: Wanderer on June 25, 2007, 16:43:29 pm Αυτό ίσως να γίνεται όταν κάνεις type casting έναν ακέραιο σε float ή double. Αυτό συμβαίνει γιατί ο τρόπος αναπαράστασης των αριθμών κινητής υποδιαστολής είναι περίπου όπως ο επιστημονικός στο δεκαδικό. Δλδ της μορφής 0.χχχχχχχ * 10 ^A μόνο που στον υπολογιστή τα χχχ είναι στο δυαδικό (aka bits) και αντί για 10^A έχεις 2^K. το θέμα είναι ότι ένας δεκαδικός (μη ακέραιος) αριθμός στο δεκαδικό δε μετατρέπεται πάντα ακριβώς στο δυαδικό. πχ το (0.5)10=(0.1)2 αλλά το (0.3)10 = (0.01 0011 0011 0011 0011 .......)2. επειδή δεν έχεις άπειρη ακρίβεια κάπου κόβεις bit και αυτό κάνει τελικά τον αριθμό 0.3 να επεικονίζεται σα 0.29999999989 ktl το θέμα είναι ότι συνήθως το σφάλμα αυτό είναι πολύ μικρό και όχι της τάξης του 10^-3 όπως λες ότι συμβαίνει σε σένα. Τώρα τι είναι ακριβώς θα σε γελάσω. Πως βλέπεις τις δύο τιμές? Τις εκτυπώνεις στην οθόνη ή μέσα από τον compiler. Βεβαιώσου ότι κατά την εμφάνιση δε γίνεται κάποια στρογγυλοποίηση. Βέβαια είναι πιθανό να συμβαίνει αυτό που λέω παραπάνω. Σε ευχαριστώ πολύ για τις εξηγήσεις! Α, η αλήθεια είναι ότι στην scanf βάζω να τυπώσει μόνο τα τρία πρώτα δεκαδικά ψηφία, αλλά είχα την εντύπωση ότι έτσι δεν γίνεται κάποιου είδους στρογγυλοποίηση, απλά κρατάει τα τρία πρώτα ψηφία χωρίς να τα πειράξει.Quote άξονας των x ταυτίζεται με τη διεύθυνση βοράς – νότος Πράγμα που σημαίνει πως το χ εκφράζει το γεωγραφικό μήκος (?) Quote η αρχή των αξόνων με το κέντρο της βάσης στήριξης του ραντάρ του αεροδρομίου. άρα το radar είναι το 0,0. Quote Το στίγμα (γεωγραφικό μήκος και πλάτος) του αεροπλάνου προσδιορίζεται σε μοίρες προσθέτοντας στο γεωγραφικό μήκος του ραντάρ του αεροδρομίου την τιμή 0,009y και στο γεωγραφικό πλάτος του ραντάρ την τιμή 0,009x. Εμένα γιατί μου βγαίνει πως το γεωγραφικό μήκος και πλάτος του radar του αεροδρομίου είναι πάντα το 0,0?? Quote Η συνάρτηση main του προγράμματος να διαβάζει το στίγμα του αεροδρομίου, τον αριθμό της πτήσης, την απόσταση και το αζιμούθιο για n αεροπλάνα, Θεωρούμε πως αντί για το γεωγραφικό πλάτος και μήκος του ραντάρ, που είναι 0,0 ΉΘΕΛΕ ΝΑ ΠΕΙ πως θα πρέπει να χρησιμοποιήσουμε το γεωγραφικό μήκος και πλάτος του αεροδρομίου.Τότε, ως στίγμα του αεροδρομίου τί ορίζουμε; την γωνία που σχηματίζει; Άν ναι δεν μπορουμε να ξέρουμε τα Χ και Υ... Title: 4η Εργασία-Απορίες!! Post by: TED on June 25, 2007, 16:50:40 pm Οk, ευχαριστώ! έτσι αποκτούν λίγο νόημα τα πράγματα :)
Title: 4η Εργασία-Απορίες!! Post by: b@ki on June 25, 2007, 20:07:07 pm "Το στίγμα (γεωγραφικό μήκος και πλάτος) του αεροπλάνου προσδιορίζεται σε μοίρες προσθέτοντας στο γεωγραφικό μήκος του ραντάρ του αεροδρομίου την τιμή 0,009y και στο γεωγραφικό πλάτος του ραντάρ την τιμή 0,009x. Όπου x και y οι καρτεσιανές συντεταγμένες σε χιλιόμετρα του αεροπλάνου σε σχέση με το σύστημα συντεταγμένων που ορίσθηκε στο αεροδρόμιο."
Δηλαδή αν κατάλαβα καλά είναι Στίγμα= (γεωγραφ.μηκος.αεροδρομίου+0,009*ρ*συν(θ))/(γεωγραφ.πλάτος.αεροδρομίου+0,009*ρ*ημ(θ)) όπου θ εννοώ το αζιμούθιο και όπου ρ την απόσταση του αεροπλάνου από τη βάση στήριξης του ρανταρ;; :???: :???: Title: 4η Εργασία-Απορίες!! Post by: Mendoza on June 25, 2007, 20:23:40 pm Σωστά,μόνο που το γεωγραφικό μήκος ειναι με ημθ..το γεωγραφικό πλάτος με συνθ!
Title: 4η Εργασία-Απορίες!! Post by: b@ki on June 25, 2007, 20:40:08 pm Ευχαριστώ πολύ!! Αντε να δούμε τώρα τι κάνουμε >:( >:(
Title: 4η Εργασία-Απορίες!! Post by: voldemort on June 25, 2007, 22:03:07 pm Εαν βρούμε το στίγμα με τον παραπάνω τρόπο (μήκος/πλάτος) θα βρούμε σίγουρα γωνία σε μοιρες;ή μήπως θα βρούμε καποια εφαπτόμενη; Έχω μπερδευτεί λίγο μπορει να μου το εξηγήσει κάποιος;
Title: 4η Εργασία-Απορίες!! Post by: TED on June 25, 2007, 22:25:18 pm άν βρείς την εφαπτομένη, μπορείς να χρησιμοποιήσεις την συνάρτηση atan(x) που υπολογίζει την τοξο εφαπτομένη και βρίσκεται στην βιβλιοθήκη math.h
Title: 4η Εργασία-Απορίες!! Post by: Christy on June 25, 2007, 22:43:34 pm επειδη τα εχω δει ολα με την υπεροχη αυτη εκφωνηση :o :o :o
μπορει καποιος να δωσει τον τυπο του στιγματος με χ,ψ,ρ,θ μηπως και βγαλω καμια ακρη???? :'( :'( :'( ^beg^ ^beg^ ^beg^ ^beg^ Title: 4η Εργασία-Απορίες!! Post by: mysterious on June 25, 2007, 23:10:34 pm x=r*cos(θ)
y=r*sin(θ) το θ πρεπει να είναι σε ακτίνια γι'αυτό πιο πριν βάζεις θ=θ*3,14/180 ΣΤΙΓΜΑ: gmikos=0.009y+gmikosaerodromiou gplatos=0.009x+gplatosaerodromiou Title: 4η Εργασία-Απορίες!! Post by: vasso on June 26, 2007, 01:50:01 am γιατί το θ πρέπει να είναι σε ακτίνια;
εδιτ: Το αζιμούθιο μετριέται πάντα σε μοίρες Title: 4η Εργασία-Απορίες!! Post by: TED on June 26, 2007, 01:51:09 am επειδή έτσι το δέχεται η συνάρτηση cos και sin...
Title: 4η Εργασία-Απορίες!! Post by: vasso on June 26, 2007, 01:52:47 am ε να, τέτοιες βλακείες δεν μ' αρέσουν...
Title: 4η Εργασία-Απορίες!! Post by: Christy on June 26, 2007, 02:33:11 am μια που ειναι βραδια προγραμματισμου να ρωτησω και γω κατι......
1)και τις 2 φορες που μας ζηταει να εμφανισουμε στιγμα το θελει στη μορφη μμ.λλ.δδ ?? 2)οταν λεει να εμφανιζεται το στιγμα εννοει γεωγραφικο μηκος και πλατος? αυταααααα ;D ;D Title: 4η Εργασία-Απορίες!! Post by: Wade on June 26, 2007, 07:59:15 am Για το πρώτο, νομίζω ναι, χωρίς να είμαι 100% σίγουρος. Για το 2ο, το στίγμα είναι το γεωγραφικό μήκος/πλάτος :)
Title: 4η Εργασία-Απορίες!! Post by: TED on June 26, 2007, 10:01:43 am Πράγμα που δεν συγκεκριμενοποιείται, άρα είναι προαιρετικό...
Title: 4η Εργασία-Απορίες!! Post by: TeeKay on June 26, 2007, 15:04:01 pm Για το πρώτο, νομίζω ναι, χωρίς να είμαι 100% σίγουρος. Για το 2ο, το στίγμα είναι το γεωγραφικό μήκος/πλάτος :) Μπορεί να ρωτήσω και βλακεία, αλλά δεν πειράζει: το στίγμα δηλαδή είναι ο λόγος του γ. μήκους προς το γ. πλάτος??? :oTitle: 4η Εργασία-Απορίες!! Post by: Wade on June 26, 2007, 15:08:53 pm Όχι, είναι το ζεύγος αριθμών γεωγραφικό μήκος, γεωγραφικό πλάτος.
Title: 4η Εργασία-Απορίες!! Post by: asxetos on June 26, 2007, 15:55:58 pm Πως θα αναφερθουμε σε ενα στοιχειο του πινακα που οριστηκε με δυναμικη δεσμευση και ειναι δισδιαστατος ?????
*(p+i][3]ετσι? :( :( :( :( :( :( Title: 4η Εργασία-Απορίες!! Post by: PallasFTW on June 26, 2007, 17:47:46 pm παιδια εχω χαθει σχεδον ολοκληρωτικα γιαυτο λιγη κατανοηση οσο ακυρες ερωτησεις κι αν ποσταρω..... :)
η εκφωνηση λεει να διαβαζει καποια πραματα για n αεροπλανα....αυτο το n το δινει ο χρηστης??? αυτη ειναι η πρωτη ερωτηση..μολις το ξεκαθαρισω θα επανελθω δριμητερος 8)( soz και για την ορθογραφια αλλα πρωτη φορα γρφω αυτη τη λεξη :P ) Title: 4η Εργασία-Απορίες!! Post by: crystal on June 26, 2007, 18:47:07 pm Nαι ο χρηστης το δινει.. Μεσα στην main..
Title: 4η Εργασία-Απορίες!! Post by: crystal on June 26, 2007, 18:49:17 pm [Linker error] undefined reference to `cl_pos'
Στον dev αυτο μου βγαζει, εχω και τις σωστες βιβλιοθηκες... Γιατι? Title: 4η Εργασία-Απορίες!! Post by: Nikos! on June 26, 2007, 19:04:38 pm #include<stdio.h>
#include<stdlib.h> #include <math.h> void cl_pos(int *ap,float *r,float *az,float x0,float y0,int n),cover( ); void main() { float x0,y0,*r,*az; int n,i,*ap; printf("Dose to sigma tou aerodromiou : \n"); scanf("%d%d",&x0,&y0); printf("\nDose ton arithmo twn aeroplanwn : "); scanf("%d",&n); ap=(int*)malloc(n*sizeof(int)); r=(float*)malloc(n*sizeof(float)); az=(float*)malloc(n*sizeof(float)); if((ap=(int*)malloc(n*sizeof(int)))==NULL) { printf("Den yparxei areketi mnimi gia katanomh(ap)"); exit(1); } if((r=(float*)malloc(n*sizeof(float)))==NULL) { printf("Den yparxei areketi mnimi gia katanomh(r)"); exit(1); } if((az=(float*)malloc(n*sizeof(float)))==NULL) { printf("Den yparxei areketi mnimi gia katanomh(az)"); exit(1); } for (i=0;i<n;i++) { printf("\n%s%d%s","Gia to ",(i+1),"o aeroplano"); printf("\nDose ton arithmo ptisis : "); scanf("%d",&ap+i); printf("Dose to r kai ton azimouthio : \n"); scanf("%d%d",&r+i,&az+i); } cl_pos(ap,r,az,x0,y0,n); } void cl_pos(int *ap,float *r,float *az,float x0,float y0,int n) { int i; float *x,*y,*gm,*gp,temp; x=(float*)malloc(n*sizeof(float)); y=(float*)malloc(n*sizeof(float)); gm=(float*)malloc(n*sizeof(float)); gp=(float*)malloc(n*sizeof(float)); if((x=(float*)malloc(n*sizeof(float)))==NULL) { printf("Den yparxei areketi mnimi gia katanomh(x)"); exit(1); } if((y=(float*)malloc(n*sizeof(float)))==NULL) { printf("Den yparxei areketi mnimi gia katanomh(y)"); exit(1); } if((gm=(float*)malloc(n*sizeof(float)))==NULL) { printf("Den yparxei areketi mnimi gia katanomh(gm)"); exit(1); } if((gp=(float*)malloc(n*sizeof(float)))==NULL) { printf("Den yparxei areketi mnimi gia katanomh(gp)"); exit(1); } temp=(float)3.14/180; for(i=0;i<n;i++) { *(x+i)=*(r+i) * cos(*(az+i) * temp); *(y+i)=*(r+i) * sin(*(az+i) * temp); *(gm+i)=x0 + 0.009 * (*(y+i)); *(gp+i)=y0 + 0.009 * (*(x+i)); printf("%s%d%s","O arithmos ptisis tou ",(i+1),"ou areroplanou einai :\n") printf("%d\n",*ap+i); } } μηπως ξερει κανεις γιατι δεν μου εμφανιζει τa printf to ap sto telos??? exw kolisei help Title: 4η Εργασία-Απορίες!! Post by: Wanderer on June 26, 2007, 20:16:29 pm Κάποια νομίζω λάθη που εντόπισα:
1.Όταν κάνεις τον έλεγχο αν είναι NULL, ενώ πριν το έχεις θέσει ίσον με pointer που επέστρεψε η malloc, στον έλεγχο το ΞΑΝΑθέτεις ίσον με έναν pointer που επέστρεψε η malloc. Δηλαδή: Code: ap=(int*)malloc(n*sizeof(int)); 2. Code: printf("\nDose ton arithmo ptisis : "); Ελπίζω τώρα να λειτουργήσει ;) Title: deleted Post by: BOBoMASTORAS on June 26, 2007, 21:33:13 pm deleted
Title: 4η Εργασία-Απορίες!! Post by: Jalk on June 26, 2007, 21:41:11 pm γ) Οι συναρτήσεις cl_pos και cover δε διαβάζουν τιμές και δεν τυπώνουν αποτελέσματα. Title: 4η Εργασία-Απορίες!! Post by: Ariel on June 26, 2007, 21:48:07 pm βρε παιδιά, ανέβασα την εργασία, αλλά θέλω να την αλλάξω.Μπορώ?
Title: 4η Εργασία-Απορίες!! Post by: Grecs on June 26, 2007, 21:57:00 pm βρε παιδιά, ανέβασα την εργασία, αλλά θέλω να την αλλάξω.Μπορώ? σβησε την ομαδα σου και κανε νεα και ξαναανεβασε Title: deleted Post by: BOBoMASTORAS on June 26, 2007, 21:57:17 pm deleted
Title: 4η Εργασία-Απορίες!! Post by: Ariel on June 26, 2007, 21:59:05 pm Ευχαριστώ παιδιά!
Title: 4η Εργασία-Απορίες!! Post by: Jalk on June 26, 2007, 22:02:52 pm Μέχρι τι ώρα μπορούμε να την ανεβάσουμε ουσιαστικά;
Τυπικά είναι μέχρι τις 12, αλλά πότε το "κλείνει"; Title: 4η Εργασία-Απορίες!! Post by: vag on June 26, 2007, 22:05:20 pm thn epomeni to prwi
egw oles tetoies wres tis edina axxxx afti i epimelia mou Title: 4η Εργασία-Απορίες!! Post by: λήθη on June 26, 2007, 22:06:24 pm thn epomeni to prwi egw oles tetoies wres tis edina axxxx afti i epimelia mou ^mountza^ ψωναρα Title: 4η Εργασία-Απορίες!! Post by: vag on June 26, 2007, 22:07:48 pm thn epomeni to prwi egw oles tetoies wres tis edina axxxx afti i epimelia mou ^mountza^ ψωναρα pou na lega oti tis edina prwtos prwtos Title: 4η Εργασία-Απορίες!! Post by: Wanderer on June 26, 2007, 22:12:25 pm Ωχ μην αρχίσετε και εδώ :D
Title: 4η Εργασία-Απορίες!! Post by: Jalk on June 26, 2007, 22:36:21 pm Γιατί όχι; :P
Title: 4η Εργασία-Απορίες!! Post by: ^^DaRk_HunTeR on June 26, 2007, 22:47:59 pm το εχω τσεκαρει και εγω δεν το κλεινει στις 12 αλλα το αλλο πρωι.......ομως η ωρα παραδοσης φαινεται οποτε....... :P
Title: 4η Εργασία-Απορίες!! Post by: Mikros_Nikolas on June 26, 2007, 22:51:12 pm το εχω τσεκαρει και εγω δεν το κλεινει στις 12 αλλα το αλλο πρωι.......ομως η ωρα παραδοσης φαινεται οποτε....... :P Ναι ρε και δεν θα την δεχτεί την άσκηση αν είναι μετά τις 12 :DΑν τα θέλει όλα τέλεια, προγραμματιστής είναι, ας έκανε ένα πρόγραμμα που θα ανεβάζει την νέα εργασία κάθε εβδομάδα στις 00:00:01 ακριβώς. ;D Title: 4η Εργασία-Απορίες!! Post by: ^^DaRk_HunTeR on June 26, 2007, 22:54:51 pm βασικα μαζι σου ειμαι και γω.... :D απλα μια σκεψη εκανα.......και οντως οτι ειναι προγραμματιστης δεν μας το χει αποδειξει ακομα :P......
Title: 4η Εργασία-Απορίες!! Post by: ampoulog on June 26, 2007, 22:56:42 pm Σιγά μην κάθεται να κοιτάει την ώρα σε κάθε εργασία.
Ακόμη αν ήθελε θα μπορούσε να φτιάξει πρόγραμμα που να κλειδώνει την υποβολή εργασίας και την ομάδα στης 00:00 και να υποβάλει την νέα εργασία εκείνη τη στιγμή. Από την στιγμή που δεν έφτιαξε κάτι τέτοιο δεν μπορεί να φτιάξει και πρόγραμμα που να ελέγχει την ώρα παράδοσης, γιατί πολύ απλά κάποιος μπορεί να την παραδόση μέσα στα καθορισμένα χρονικά περιθώρια , να καταλάβει ότι κάτι κάνει λάθος και να υποβάλει καινούρια μετά, τι θα γίνεται σε αυτή την περίπτωση; Title: 4η Εργασία-Απορίες!! Post by: ^^DaRk_HunTeR on June 26, 2007, 23:10:24 pm αγνωσται αι βουλαι Κ.Κορτεση :P
Title: 4η Εργασία-Απορίες!! Post by: ampoulog on June 26, 2007, 23:19:18 pm Code: #include <stdio.h>/*gia thn xrhsh twn scanf kai printf*/ Μπορεί να με βοήθησει κάποιος. ^caffine^ ^beg^ ^beg^ ^beg^ ^beg^ ^beg^ ^beg^ ^beg^ ^beg^ ^beg^ ^beg^ Title: 4η Εργασία-Απορίες!! Post by: Wanderer on June 26, 2007, 23:20:52 pm Βρε πες μας τί ακριβώς είναι το λάθος να μην ψάχνουμε όλο τον κώδικα :-\
Title: 4η Εργασία-Απορίες!! Post by: ampoulog on June 26, 2007, 23:23:56 pm Βασικά το λάθος πρέπει να είναι μέσα στην cl_pos.
Όταν ζητάω να μου εκτειπώσει το χ μου βγάζει την τιμή της απόστασης ενώ όταν ζητάω τα υπόλοιπα μου βγάζει διάφορα άλλα νούμερα μάλλον διευθύνσεις μνήμης. Title: 4η Εργασία-Απορίες!! Post by: ampoulog on June 26, 2007, 23:25:08 pm A και κάτι άλλο δεν γράφω cos(az) αλλά cos(az*PI/180) ,όμοια και στο sin.
Title: 4η Εργασία-Απορίες!! Post by: ^^DaRk_HunTeR on June 26, 2007, 23:28:17 pm λιγο μεγαλο μου φαινεται εμενα παντως εκ 1ης οψεως
Title: 4η Εργασία-Απορίες!! Post by: ampoulog on June 26, 2007, 23:42:49 pm Ok μολις εβγαλα ακρη ευχαριστώ.
Title: 4η Εργασία-Απορίες!! Post by: vasso on June 27, 2007, 02:31:45 am Ουπς! έκανα χαζομαρούλα.
Έγραψα στην αρχή "να δίνεται το αζιμούθιο σε ραντ, για πληροφορίες μετατροπής μοιρών σε ραντ, πατήστε 1" και μετά είχα σκοπό να θυμηθώ τον τύπο που θα το κάνει (δεν είχα ίντερνετ εκεί που ήμουν) γι' αυτό έγραψα προσωρινά ιφ(μεταβλητή ==1) τύπωσε "www.google.com" Και μόλις συνειδητοποίησα ότι το έστειλα έτσi :-[ |