Η σελίδα μας αναβαθμίστηκε, γι' αυτό τον λόγο τα μέλη μας θα πρέπει να ζητήσουν νέο κωδικό πρόσβασης από την υπηρεσία "Αποστολή κωδικού πρόσβασης".
Εάν το email με τον νέο κωδικό δεν έρθει στο inbox κοιτάξτε και στο spam folder. Ο server είναι φρέσκος και δεν έχει το reputation που του αξίζει.

Δημιουργία δισδιάστατου δυναμικού πίνακα

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

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

Απάντηση
hurry-o
Δημοσιεύσεις: 18
Εγγραφή: 19 Σεπ 2009 19:35

Δημιουργία δισδιάστατου δυναμικού πίνακα

Δημοσίευση από hurry-o » 20 Οκτ 2009 10:35

Καλησπέρα σε όλους πέπει να αναπτύξω μία κλάση της οποίας το interface ειναι

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

class int2DimArray{
    int* store;
    int vSz,hSz;
public:
    int2DimArray(int vSize, int hSize);
    ~int2DimArray();
    void set(int vIdx,int hIdx,int value);
    int get(int vIdx,int hIdx);
    void resize(int vSize,int hSize);
    int getvSz();
    int gethSz();
};
Το πρόβλημα μου είναι οτι δεν μπορώ να υλοποιήσω την μέθοδο
int2DimArray(int vSize, int hSize);

Έχω κάνει το εξής μέχρι στιγμής

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


int2DimArray::int2DimArray(int vSize,int hSize){
    vSize=getvSz();
    hSize=gethSz();
    store= new int[hSize*vSize];

Άβαταρ μέλους
bxenos
Δημοσιεύσεις: 53
Εγγραφή: 18 Αύγ 2008 19:56

Δημιουργία δισδιάστατου δυναμικού πίνακα

Δημοσίευση από bxenos » 20 Οκτ 2009 15:38

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

int2DimArray::int2DimArray(int vSize,int hSize){
       vSz = vSize;
       hSz = hSize;
       store = new int [ vSz * hSz ];
}
φυσικά θα έπρεπε να επιλέξεις size_t αντί για int στους "δείκτες" horz,vert.
Θα πρέπει να ελέγξεις αν το store δεν είναι NULL και αν το vSz*hSz είναι μέσα στις δυνατότητες του size_t ή έχεις overflow και δεσμευση λάθος μνήμης.

Άβαταρ μέλους
bxenos
Δημοσιεύσεις: 53
Εγγραφή: 18 Αύγ 2008 19:56

Δημιουργία δισδιάστατου δυναμικού πίνακα

Δημοσίευση από bxenos » 20 Οκτ 2009 15:40

hurry-o έγραψε:Έχω κάνει το εξής μέχρι στιγμής

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


int2DimArray::int2DimArray(int vSize,int hSize){
    vSize=getvSz(); [color=darkred][u]εδω διαγραφεις τα χρησιμα περιεχόμενα των vSize,hSize[/u][/color]
    hSize=gethSz();
    store= new int[hSize*vSize];
.................

Erevis
Δημοσιεύσεις: 56
Εγγραφή: 12 Ιουν 2008 16:31
Τοποθεσία: Χαλάνδρι

Δημιουργία δισδιάστατου δυναμικού πίνακα

Δημοσίευση από Erevis » 03 Νοέμ 2009 15:37

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


int **array;

array = new int*[rows];

for&#40;int i = 0; i < rows; i++&#41;
&#123;
    array&#91;i&#93; = new int&#91;columns&#93;;
&#125;

Ελπίζω να σε βοηθήσει αυτό :)

Απάντηση

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

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

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