LINUX.ORG.RU

История изменений

Исправление 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];
  }
}