antonis_wrx Δημοσ. 22 Δεκεμβρίου 2005 Δημοσ. 22 Δεκεμβρίου 2005 Υποστηρίζει η C από μόνη της μιγαδικούς αριθμούς και πράξεις με μιγαδικούς ή πρέπει να τους ορίσω μόνος μου σαν τύπο (προφανώς struct) και μετά να κάνω συναρτήσεις (που δεν νομίζω να τα καταφέρνω) με τις βασικές πράξεις... (ενδιαφέρομαι για τον υπολογισμό της τιμής ενός πολυωνύμου P(z) 4ου βαθμού, όπου z μιγαδικός...
Slammer Δημοσ. 22 Δεκεμβρίου 2005 Δημοσ. 22 Δεκεμβρίου 2005 Η standard C δεν υποστηρίζει μιγαδικούς αριθμούς....... Υπάρχουν αρκετές βιβλιοθήκες που κάνουν αυτό που λές.... (είχα βρεί αρκετές πριν πολύ-πολύ καιρό....)
GT1807 Δημοσ. 22 Δεκεμβρίου 2005 Δημοσ. 22 Δεκεμβρίου 2005 Απο μια μικρη αναζητηση στο google http://www.google.com.gr/search?q=complex+numbers+in+c&start=0&ie=utf-8&oe=utf-8&client=firefox-a&rls=org.mozilla:en-US:official Βρηκα τα παραπανω.Νομιζω οτι απο τις πρωτες εγγραφες κατι θα βρεις.Hope it helped. Τα σέβη μου
Slammer Δημοσ. 22 Δεκεμβρίου 2005 Δημοσ. 22 Δεκεμβρίου 2005 (μετα απο μια μικρή αναζήτηση...) ο gcc υποστηρίζει complex αριθμούς στην C library, οπότε η windows version του θα το κάνει και αυτή. ΥΓ: Για ολοκληρωμένο συστημα αναπτυξης C σε windows ή linux δοκιμάστε το σετ: Windows: mingw+codeblocks Linux: gcc+codeblocks http://www.codeblocks.org
antonis_wrx Δημοσ. 22 Δεκεμβρίου 2005 Μέλος Δημοσ. 22 Δεκεμβρίου 2005 http://www.gnu.org/software/libc/manual/html_node/Complex-Numbers.html δηλαδή με gcc και linux είμαι κομπλέ?
Slammer Δημοσ. 22 Δεκεμβρίου 2005 Δημοσ. 22 Δεκεμβρίου 2005 http://www.gnu.org/software/libc/manual/html_node/Complex-Numbers.html δηλαδή με gcc και linux είμαι κομπλέ? Εξαρτάται τι λειτουργικό χρησιμοποιείς.... Αν δουλεύεις windows κατεβασε τo Code::Blocks IDE' date=' with MINGW compiler[/b'] από την σελίδα : http://www.codeblocks.org/downloads.shtml Θα έχεις και compiler και IDE να στρωθείς κατ'ευθείαν στη δουλεια. Αν δουλεύεις linux τοτε κατα πάσα πιθανότητα το συστημα σου θα έχει ήδη εγκατεστημένο τον gcc
anonymous-root Δημοσ. 22 Δεκεμβρίου 2005 Δημοσ. 22 Δεκεμβρίου 2005 Ίσως να μην απαντώ άμεσα στην ερώτησή σου αλλά μιγαδικούς εκ γενετής υποστηρίζει σίγουρα η FORTRAN.
antonis_wrx Δημοσ. 22 Δεκεμβρίου 2005 Μέλος Δημοσ. 22 Δεκεμβρίου 2005 #include <stdio.h> #include <complex.h> int main () { complex a=5+2i; complex b=4+9i; complex c=a+b; printf("ok!\n"); return 0; } Τρέχω linux mandriva 2005. Το παραπάνω πρόγραμμα μου το έκανε compile και το έτρεξε κανονικά. Το μόνο πρόβλημα είναι ότι δεν ξέρω τι όρισμα θέλουν οι printf, scanf για την εμφάνιση/διάβασμα μιγαδικού αριθμού... (όπως για int είναι %d, double %lf κλπ...) Για fortran το γνωρίζω ότι υποστηρίζει αλλά δεν ξέρω δυστυχώς καθόλου. Πιέζει ο χρόνος για την παράδοση της εργασίας, πλησιάζει η εξεταστική σιγα σιγα οπότε δεν το κόβω να προλαβαίνω να μαθαίνω fortran και προτίμησα c όπου γνωρίζω κάποια πραγματάκια...
YiannisMn Δημοσ. 23 Δεκεμβρίου 2005 Δημοσ. 23 Δεκεμβρίου 2005 Δεν υποστηρίζει η C από τη φύση της μιγαδικούς, παρά μόνο η Fortran όπως ειπώθηκε ήδη παραπάνω. Μόνο με κάνα library θα κάνεις χρήση μιγαδικών, ή (αν είσαι σε C++) με κάνα class μιγαδικών που θα μπορούσες ενδεχομένως να φτιάξεις κι από μόνος σου. Όρισμα της printf για μιγαδικούς δεν υπάρχει. Θα πρέπει να τους ορίζεις ώς stings στην εκτύπωση, και να τους περνάς ίσως με τη χρήση κάποιας υπορουτίνας που θα επιστρέφει το string που θα πρέπει να εκτυπώνεται για κάποιον μιγαδικό (που θα φυλάσεται σε κάποιο structure ή class)...
Slammer Δημοσ. 24 Δεκεμβρίου 2005 Δημοσ. 24 Δεκεμβρίου 2005 O gcc compiler με τη glibc που βρίσκεται σε όλες τις διανομές linux, ΥΠΟΣΤΗΡΙΖΕΙ μιγαδικούς αριθμούς, ενγεννώς. Να και ενα παραδειγμα χρήσης και εκτύπωσης τους (με χρήση των creal() cimag() ): >/* check that exp(i*pi) == -1 */ #include <math.h> /* for atan */ #include <complex.h> main() { double pi = 4*atan(1); complex z = cexp(I*pi); printf("%f+%f*i\n", creal(z), cimag(z)); } Για περισσότερα "man complex" Για windows users, υπάρχει η λύση που εδωσα παραπάνω με mingw
antonis_wrx Δημοσ. 25 Δεκεμβρίου 2005 Μέλος Δημοσ. 25 Δεκεμβρίου 2005 και αν θέλουμε να εκχωρήσουμε πχ την τιμή της μεταβλητής a σαν πραγματικό και της b σαν φαντασικό μέρος της z πως το κάνουμε; [antonis@localhost analush]$ man complex No manual entry for complex
YiannisMn Δημοσ. 26 Δεκεμβρίου 2005 Δημοσ. 26 Δεκεμβρίου 2005 O gcc compiler με τη glibc που βρίσκεται σε όλες τις διανομές linux, ΥΠΟΣΤΗΡΙΖΕΙ μιγαδικούς αριθμούς, ενγεννώς. Να η λύση λοιπόν!
antonis_wrx Δημοσ. 26 Δεκεμβρίου 2005 Μέλος Δημοσ. 26 Δεκεμβρίου 2005 τόση ώρα το έβαζα z=a+bi αντί για z=a+b*Ι... αυτό πρέπει να έφταιγε... θα δοκιμάσω και θα πω...
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.