Αντιγραφη πινακα..

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
greel
Δημοσιεύσεις: 8
Εγγραφή: 09 Οκτ 2010 18:04

Αντιγραφη πινακα..

Δημοσίευση από greel » 14 Δεκ 2010 20:02

οσο εψαξα δεν βρηκα κατι παρομοιο.. αυτο που θελω να κανω ειναι προφανως να αντιγραψω ενα πινακα σε ενα αλλο.. ο πινακας αυτος εχει δεσμευθει δυναμικα

εχουμε λοιπον:
int **pinakas, **o_neos_pinakas;

//εδω εκτελειται ενας κωδικας που δινει τιμες στον 2διαστατο πινακα

/και εδω θελω να αντιγραψω στον o_neos_pinakas ολα τα στοιχεια οπως ειναι..

αυτο που θελω ομως δεν ειναι απλα
o_neos_pinakas=pinakas;

διοτι θελω να χειριζομαι τους δυο πινακες ως ξεχωριστους.. οποιος μπορει να με βοηθησει.. ευχαριστω.

GReaper
Δημοσιεύσεις: 48
Εγγραφή: 11 Δεκ 2010 21:47
Επικοινωνία:

Αντιγραφη πινακα..

Δημοσίευση από GReaper » 14 Δεκ 2010 21:16

Πρώτον, πρέπει να ξέρεις τις διαστάσεις τους.
Μετά μέσα σε δύο for θα θέτεις μια μια τις τιμές του o_neos_pinakas σ' αυτές του pinakas.

greel
Δημοσιεύσεις: 8
Εγγραφή: 09 Οκτ 2010 18:04

Αντιγραφη πινακα..

Δημοσίευση από greel » 14 Δεκ 2010 21:24

ναι οντως αυτο ειναι μια λυση απλα ψαχνω για καμια λυση 1-2 γραμμων για να μην χρειαστει να ξανακανω δυναμικη δεσμευσει για τον o_neos_pinakas και να αντιγραφω 1-1.. αν υπηρχε κατι πιο γρηγορο..

GReaper
Δημοσιεύσεις: 48
Εγγραφή: 11 Δεκ 2010 21:47
Επικοινωνία:

Αντιγραφη πινακα..

Δημοσίευση από GReaper » 15 Δεκ 2010 21:12

Αν ξέρεις το τελικό μέγεθος των πινάκων, αν είναι το ίδιο και για τους δύο, κάλεσε μια memcpy έτσι:

Κώδικας: Επιλογή όλων

memcpy(o_neos_pinakas, pinakas, pinakasSize);
Η διαφορά είναι ότι για να κάνεις το παραπάνω πρέπει οι πίνακές σου να είναι:

Κώδικας: Επιλογή όλων

int *pinakas, *o_neos_pinakas;

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες