buchwaldj
17-12-2009, 17:47
hi,
ich bin gerade auf ein ganz seltsames phänomen gestoßen: ein feld wird durch ein anderes überschrieben:
double f[nx+1][nt+1];
for(int m=0;m<=nt;m++){
if(m<=2){ //sourcetimefunction heaviside
f[j_s][m]=300;
std::cout << f[j_s][m] << "\n";
}else{
f[j_s][m]=0;
}
}
double v[nx+1][nt+1];
for(int j=0;j<=nx+1; j++){
for(int m=0;m<=nt+1; m++){
v[j][m]=0;
std::cout << f[j_s][0] << " " << f[j_s][1] << " " << f[j_s][2]<< "\n";
}
}
führt dazu das sobald v[j_s][0] null gesetzt wird auch f[j_s][0] null gesetzt wird.
wie kann das sein???
ich bin gerade auf ein ganz seltsames phänomen gestoßen: ein feld wird durch ein anderes überschrieben:
double f[nx+1][nt+1];
for(int m=0;m<=nt;m++){
if(m<=2){ //sourcetimefunction heaviside
f[j_s][m]=300;
std::cout << f[j_s][m] << "\n";
}else{
f[j_s][m]=0;
}
}
double v[nx+1][nt+1];
for(int j=0;j<=nx+1; j++){
for(int m=0;m<=nt+1; m++){
v[j][m]=0;
std::cout << f[j_s][0] << " " << f[j_s][1] << " " << f[j_s][2]<< "\n";
}
}
führt dazu das sobald v[j_s][0] null gesetzt wird auch f[j_s][0] null gesetzt wird.
wie kann das sein???