История изменений
Исправление www_linux_org_ru, (текущая версия) :
речь идет о коде вроде такого:
double curr[N][N];
double next[N][N];
for(int i=1; i<N-1; ++i) {
for(int j=1; j<N-1; ++j) {
next[i][j]=curr[i][j]
+(curr[i][j+1]-curr[i][j])*a
+(curr[i][j-1]-curr[i][j])*a
+(curr[i+1][j]-curr[i][j])*a
+(curr[i-1][j]-curr[i][j])*a ;
}
// ну и на краях добавить
}
// и еще на краях
for(int i=0; i<N; ++i) {
for(int j=0; j<N; ++j) {
curr[i][j]=next[i][j];
}
}
Исправление www_linux_org_ru, :
речь идет о коде вроде такого:
double curr[N][N];
double next[N][N];
for(int i=1; i<N; ++i) {
for(int j=1; j<N; ++j) {
next[i][j]=curr[i][j]
+(curr[i][j+1]-curr[i][j])*a
+(curr[i][j-1]-curr[i][j])*a
+(curr[i+1][j]-curr[i][j])*a
+(curr[i-1][j]-curr[i][j])*a ;
}
// ну и на краях добавить
}
// и еще на краях
for(int i=0; i<N; ++i) {
for(int j=0; j<N; ++j) {
curr[i][j]=next[i][j];
}
}
Исходная версия www_linux_org_ru, :
речь идет о коде вроде такого:
double curr[N][N];
double next[N][N];
for(int i=1; i<N; ++i) {
for(int j=1; j<N; ++j) {
next[i][j]=curr[i][j]
+(curr[i][j+1]-curr[i][j])*a
+(curr[i][j-1]-curr[i][j])*a
+(curr[i+1][j]-curr[i][j])*a
+(curr[i-1][j]-curr[i][j])*a ;
}
// ну и на краях добавить
}
// и еще на краях
for(int i=1; i<N; ++i) {
for(int j=1; j<N; ++j) {
curr[i][j]=next[i][j];
}
}