/* Example demonstrating using multi-dimensional arrays. * Shows how functions that pass arrays are pass-by-reference. * Note: bad programming style: duplicate code for printing matrix. * (Part of next lab.) * CISC105 07.11.05 * mod_matrix.c */ #include #define SIZE 5 void modArray( int a[], int size ) { a[3] = 100; } void modMatrix( int a[][SIZE], int size ) { a[1][2] = -99; } int main() { int i, j; int matrix[SIZE][SIZE] = {0}; printf("Matrix before modification: \n"); for( i=0; i < SIZE; i++ ) { for( j=0; j < SIZE; j++ ) { printf("%4d", matrix[i][j]); } printf("\n"); } modMatrix( matrix, SIZE ); printf("Matrix after matrix modification: \n"); for( i=0; i < SIZE; i++ ) { for( j=0; j < SIZE; j++ ) { printf("%4d", matrix[i][j]); } printf("\n"); } modArray( matrix[2], SIZE ); printf("Matrix after array modification: \n"); for( i=0; i < SIZE; i++ ) { for( j=0; j < SIZE; j++ ) { printf("%4d", matrix[i][j]); } printf("\n"); } return 0; }