// Last edited on 2009-05-14 22:39:20 by stolfi #include #include #define N 32 void init_matrix(int n,int** P){ int i,j; for(i = 0; i < n; i++){ for(j = 0; j < n; j++){ P[i][j] = 0; } } } void init_vector(int n,int* v){ int i,j; for(i = 0; i < n; i++){ for(j = 0; j < n; j++){ v[i*n+j] = 0; } } } void init_matrox(int n, int P[n][n]){ int i,j; for(i = 0; i < n; i++){ for(j = 0; j < n; j++){ P[i][j] = 0; } } } #define OPTION 0 int main (void) { int n; #if (OPTION == 0) // Constant bounds int vet[N][N]; n = N; #endif #if (OPTION == 1) // Variable bounds, algol-style alloc: sscanf("32\n", "%d", &n); int vet[n][n]; #endif #if (OPTION == 2) // Variable bounds, C-style alloc: sscanf("32\n", "%d", &n); int **vet; vet = malloc(n*sizeof(int*)); int i; for (i = 0; i < n; i++) { vet[i] = malloc(n*sizeof(int)); } #endif init_matrix(n,vet); init_vector(n,vet); init_matrox(n,vet); return 0; }