以下是我的代码,请求各位大侠指教:
typedef struct {
struct{
struct {
double x,y,z;
int atoms;
char atomname[8];
}ATOM[5000];
char residuename[8];
int residueno;
}RESIDUE[5000];
double xcen,ycen,zcen;
char chains;
char filename[800];
double rmsd;
}molecule;
molecule m[2];
int center_molecule(molecule *m)
{
int i,j;
double xcen,ycen,zcen;
xcen=ycen=zcen=0;
for (i=0;i<3;i++){
for (j=0;j<4;j++){
if (m.RESIDUE[i].ATOM[j].selected){
xcen+=m.RESIDUE[i].ATOM[j].x;
ycen+=m.RESIDUE[i].ATOM[j].y;
zcen+=m.RESIDUE[i].ATOM[j].z;
}
}
}
xcen/=12;
ycen/=12;
zcen/=12;
for (i=0;i<3;i++){
for(j=0;j<4;j++)
{
m.RESIDUE[i].ATOM[j].x-=xcen;
m.RESIDUE[i].ATOM[j].y-=ycen;
m.RESIDUE[i].ATOM[j].z-=zcen;
}
}
return(0);
}
1 个解决方案
#1
终于解决了
molecule *m;
m->RESIDUE.ATOM.x就可以了,因为类型不同
molecule *m;
m->RESIDUE.ATOM.x就可以了,因为类型不同
#1
终于解决了
molecule *m;
m->RESIDUE.ATOM.x就可以了,因为类型不同
molecule *m;
m->RESIDUE.ATOM.x就可以了,因为类型不同