Directx Δημοσ. 18 Ιανουαρίου 2011 Δημοσ. 18 Ιανουαρίου 2011 @DirectX Ευχαριστώ για την άμεση απάντηση ! Δεν το είχα υπόψη μου αυτό. Με μια πρόχειρη ματιά δείχνει ο ορισμός να είναι δυναμικός, οπότε πιθανόν θα το χρησιμοποιήσω καθώς δεν υπάρχουν πολλές εναλλακτικές επιλογές. Έχω καλομάθει (ή κακομάθει !) στη Fortran. Εκεί δεν υπάρχουν τέτοια προβλήματα : π.χ. ένα απλό allocate(A(nx,ny,nz,nw)) φτιάχνει αμέσως έναν πραγματικό ή μιγαδικό πίνακα και όλη η λειτουργικότητα που χρειάζεται παρέχεται έτοιμη ενδογενώς. Και πάλι σε ευχαριστώ για την υπόδειξη. - Φίλε V.I.Smirnov ελπίζω να σε βοηθήσει. Υ.Γ. Όσον αφορά την FORTRAN πριν καιρό διάβαζα για την κατασκευή του πρώτου μεταφραστή της (FORTRAN 1). Ήταν ουσιαστικά ο πρώτος Optimized Compiler που παράχθηκε ποτέ. Η δε σχεδίαση του (αρχιτεκτονική) σε θέματα ταχύτητας υπολογισμών υπήρξε σημείο αναφοράς για πολλά χρόνια, έκτοτε συνειδητοποίησα τον λόγο που "παίζει" μόνη της σε αυτόν τον τομέα (ταχύτητα & μαθηματικοί υπολογισμοί) ακόμα και αν τρώει (άδικο) "κράξιμο" σχετικά με την ηλικία της σήμερα.
V.I.Smirnov Δημοσ. 18 Ιανουαρίου 2011 Δημοσ. 18 Ιανουαρίου 2011 Ελπίζω κι' εγώ να βοηθηθώ μ' αυτό που μου έδειξες. Επειδή θα δουλέψω σε Visual Studio και windows πρέπει να δω αν και πώς μπορώ να το χρησιμοποιήσω εκεί. Ο προφέσορας μού ζήτησε να κάνω κάτι που θα εμπλέκει μέσα και το πακέτο VTK για οπτικοποίηση δεδομένων. Δυστυχώς αυτό στη fortran δεν υποστηρίζεται και πρέπει να γράψω στην C++. Επειδή η χρήση πινάκων θα είναι πιθανόν εκτεταμένη, προσπαθώ να βρω κάποιο υποκατάστατο ώστε να μην μπλέξω με τoυς δείκτες σε χαμηλό επίπεδο. Μου φαίνεται πρωτόγονο να γράφω βρόγχο για να μηδενίσω ή να προσθέσω πίνακες όταν στην fortran αυτό είναι απλώς Α=0 και C=A+B ! Συχνά οι έτοιμες κλάσεις-αντικείμενα έχουν προβλήματα. Π.χ. μια συνάρτηση που επιστρέφει έναν πίνακα μπορεί να καταναλώνει τεράστιο ποσό μνήμης και να καθυστερεί αν ο πίνακας είναι μεγάλος (επειδή κατά την επεξεργασία μπορεί π.χ. να δημιουργεί αντίγραφο του αντικειμένου). Σε μικρά προγράμματα ή μικρό όγκο δεδομένων δεν παίζει ρόλο αλλά αν πρόκειται για πίνακα 100δων ΜΒ το πράγμα φαίνεται... Σε ότι αφορά τη Fortran, τα έχουμε πει εκτενώς αλλού. Το "κράξιμο που τρώει" είναι λόγω άγνοιας κι' όχι παλαιότητας. Όποιος ξεφυλλίσει το standard της 2008 ή της 2003 θα το δει αμέσως. Καλό απόγευμα... Y.Γ. Μια που το έφερε η κουβέντα, στο θέμα που έθεσε αρχικά το παιδί, στη Fortran υπάρχει έτοιμη εντολή (η CSHIFT) που κάνει την κυκλική ολίσθηση άμεσα και απλούστατα (μια εντολή) και δουλεύει και σε πολυδιάστατους πίνακες ! -
virxen75 Δημοσ. 18 Ιανουαρίου 2011 Δημοσ. 18 Ιανουαρίου 2011 πως γινεται αυτο?? σε εμενα δεν τρεχει κανενα απο τα 2 προγραμματα... αν εννοεις ποιο προγραμμα χρησιμοποιω για τη C++ ειναι αυτο: Dev-Cpp το παράξενο είναι ότι τον κώδικα τον έχω γράψει σε wxDev-cpp και λειτουργει μια χαρα δες φωτο!
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.