bilco Δημοσ. 18 Απριλίου 2008 Δημοσ. 18 Απριλίου 2008 Το λάθος μου βέβαια είναι, ότι με πίνακα στην στοίβα δεν δουλεύει αφού εκεί όλα τα στοιχεία ο compiler τα βάζει στην σειρά. Μόνο με δυναμικά δεσμευμένο πίνακα.
parsifal Δημοσ. 18 Απριλίου 2008 Δημοσ. 18 Απριλίου 2008 Το λάθος μου βέβαια είναι, ότι με πίνακα στην στοίβα δεν δουλεύει αφού εκεί όλα τα στοιχεία ο compiler τα βάζει στην σειρά. Μόνο με δυναμικά δεσμευμένο πίνακα. Ακριβώς. Π.χ. να μία σχετική υλοποίηση: > #include <stdio.h> #include <stdlib.h> void testArray(int**, int, int); int main() { int Rows = 4, Cols = 4, **ppArray, i, j, *pTemp; ppArray = (int**) malloc(Rows * sizeof(int*)); for(i = 0; i < Rows; i++) ppArray[i] = (int*) malloc(Cols * sizeof(int)); for(i = 0; i < Rows; i++) for(j = 0; j < Cols; j++) ppArray[i][j] = i; testArray(ppArray, Rows, Cols); pTemp = ppArray[Rows - 1]; ppArray[Rows - 1] = ppArray[0]; ppArray[0] = pTemp; testArray(ppArray, Rows, Cols); return 0; } void testArray(int **ppArray, int Rows, int Cols) { int i, j; for(i = 0; i < Rows; i++) { for(j = 0; j < Cols; j++) printf("%d ", ppArray[i][j]); printf("\n"); } printf("\n"); } Το output για 4 γραμμές - 4 στήλες: 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3 3 3 3 3 1 1 1 1 2 2 2 2 0 0 0 0
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.