coconutt Δημοσ. 23 Ιουνίου 2010 Δημοσ. 23 Ιουνίου 2010 Καλησπέρα, Ένα μέρος του κώδικα είναι: int *y; y = (int*)calloc( N,sizeof(int) ); int *vectory; vectory = (int *)calloc( sb, sizeof(int) ); for (j=0;j<sb;j++) { y[j+((counter-1)*sb)]=vectory[j]; } και εμφανίζεται μήνυμα ότι το y δεν έχει δηλωθεί. Γνωρίζει κάποιος πώς μπορώ να το διορθώσω;Ουσιαστικά,η απορία είναι πώς μπορώ να επεξεργαστώ το χώρο που δεσμεύω με την calloc; Ευχαριστώ πολύ!!!
MitsakosGR Δημοσ. 23 Ιουνίου 2010 Δημοσ. 23 Ιουνίου 2010 Το λογικό θα ήταν να σου βγάζει μήνυμα ότι το vectory[j] δεν έχει τιμές. Αλλιώς δεν φαίνεται να έχει κάποιο λάθος. Έλεγξε μήπως το j+((counter-1)*sb) παίρνει τιμές πάνω από το N που έχει οριστεί ως το μέγεθος του πίνακα Y. Μπορείς να γράψεις ακριβώς το error που σου βγάζει?
coconutt Δημοσ. 23 Ιουνίου 2010 Μέλος Δημοσ. 23 Ιουνίου 2010 Το error που βγάζει είναι: 'y' undeclared (first use in this function)
imitheos Δημοσ. 23 Ιουνίου 2010 Δημοσ. 23 Ιουνίου 2010 Το error που βγάζει είναι:'y' undeclared (first use in this function) Μόνο αυτό το μήνυμα βγάζει ? Ποιος compiler ? Καλησπέρα,Ένα μέρος του κώδικα είναι: int *y; y = (int*)calloc( N,sizeof(int) ); int *vectory; vectory = (int *)calloc( sb, sizeof(int) ); for (j=0;j<sb;j++) { y[j+((counter-1)*sb)]=vectory[j]; } και εμφανίζεται μήνυμα ότι το y δεν έχει δηλωθεί. Γνωρίζει κάποιος πώς μπορώ να το διορθώσω;Ουσιαστικά,η απορία είναι πώς μπορώ να επεξεργαστώ το χώρο που δεσμεύω με την calloc; Ευχαριστώ πολύ!!! Το κομμάτι αυτό είναι συνεχόμενο όπως το βλέπουμε ή έχει και άλλα τμήματα ενδιάμεσα ? Ρωτάω γιατί με παραξένεψε η ανάθεση του vectory στον y. Μετά την την calloc και ο y και ο vectory θα έχουν μηδενικές τιμές.
MitsakosGR Δημοσ. 23 Ιουνίου 2010 Δημοσ. 23 Ιουνίου 2010 Έγραψα τον κώδικα ακριβώς όπως το έχεις εδώ και δεν μου έβγαλε κανένα error. Ψάξε λίγο που αλλού έχεις το Y μήπως δεν είναι σε αυτό το τμήμα το πρόβλημα.
coconutt Δημοσ. 23 Ιουνίου 2010 Μέλος Δημοσ. 23 Ιουνίου 2010 το κομμάτι δεν είναι συνεχόμενο.περίπου 200 σειρές είναι ο κώδικας κ μόνο αυτό βγάζει λάθος.Το πρόγραμμα χρησιμοποιεί mpi κ δεν ξέρω τον compiler που έχει το πανεπιστήμιο.Η ανάθεση του vectory στο y γίνεται γιατί το y πρέπει να έχει Ν στοιχεία αλλά το vectory έχει κάθε φορά sb στοιχεία και με τη βοήθεια του counter προσπαθώ να τα βάλω στη σωστή θέση του y. Στο error γράφει επίσης each undeclared identifier is reported only once for each function it appears in.
coconutt Δημοσ. 23 Ιουνίου 2010 Μέλος Δημοσ. 23 Ιουνίου 2010 Ευχαριστώ πολύ για το ενδιαφέρον σας.Το βρήκα τελικά.Έπρεπε να έχω την calloc σε όλους τους κόμβους που συμμετέχουν και όχι μόνο σε έναν. Ευχαριστώ
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.