44 int main(
int argc,
char *argv[]) {
46 fprintf( stderr,
"Usage: %s <rows> <columns> <numIter>\n", argv[0] );
49 int ROWS = atoi( argv[1] );
50 int COLS = atoi( argv[2] );
51 int STAGES = atoi( argv[3] );
53 double mat[ROWS][COLS];
54 double copy[ROWS][COLS];
59 for ( i=0; i<ROWS; i++ )
60 for ( j=0; j<COLS; j++ )
63 for ( i=0; i<ROWS; i++ ) {
68 for ( j=0; j<COLS; j++ ) {
75 for ( stage=0; stage<STAGES; stage++ ) {
77 for ( i=0; i<ROWS; i++ )
78 for ( j=0; j<COLS; j++ )
79 copy[i][j] = mat[i][j];
82 for ( i=1; i<ROWS-1; i++ )
83 for ( j=1; j<COLS-1; j++ )
84 mat[i][j] = ( copy[i-1][j] + copy[i+1][j] + copy[i][j-1] + copy[i][j+1] ) / 4;
88 for ( i=0; i<ROWS; i++ )
89 for ( j=0; j<COLS; j++ )
90 printf(
"%014.4lf\n", mat[i][j] );
int main(int argc, char *argv[])