一个for小问题

powersonic_lgx 2007-05-06 01:44:59
帮我看看为什么这个循环为什么不能达到我要的效果。我的数组包括上万个数据,我想通过改变m_EndPos和m_StartPos来控制下面进行的循环,可是发现每次循环还是会从{0,pData[0]}开始(在我改变m_StartPos取值的情况下也如此)


POINT m_StartPos={0,pData[0]};
POINT m_EndPos={800,pData[800]};


for(unsigned int j=0;j<(unsigned int)(m_EndPos.x-m_StartPos.x);j++)
{
x[1][j]=0;
d[1][j]=0;
for(unsigned int n=0;n<(unsigned int)(m_EndPos.x-m_StartPos.x);n++)
{

x[0][n]=x[0][n+m_StartPos.x];
x[1][j]+=GetH(n-2*j)*x[0][n];
d[1][j]+=GetG(n-2*j)*x[0][n];
}
}



...全文
264 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Cat_Of_9Life 2007-05-06
  • 打赏
  • 举报
回复
可能是想这样吧,试试看?
POINT m_StartPos={0,pData[0]};
POINT m_EndPos={800,pData[800]};

for(unsigned int j=m_StartPos.x;j<(unsigned int)(m_EndPos.x-m_StartPos.x);j++)
{
x[1][j]=0;
d[1][j]=0;
for(unsigned int n=m_StartPos.x;n<(unsigned int)(m_EndPos.x-m_StartPos.x);n++)
{

x[0][n]=x[0][n+m_StartPos.x];
x[1][j]+=GetH(n-2*j)*x[0][n];
d[1][j]+=GetG(n-2*j)*x[0][n];
}
}

或者是这样:

POINT m_StartPos={0,pData[0]};
POINT m_EndPos={800,pData[800]};

for(unsigned int j=m_StartPos.x;j<(unsigned int)(m_EndPos.x);j++)
{
x[1][j]=0;
d[1][j]=0;
for(unsigned int n=m_StartPos.x;n<(unsigned int)(m_EndPos.x);n++)
{

x[0][n]=x[0][n+m_StartPos.x];
x[1][j]+=GetH(n-2*j)*x[0][n];
d[1][j]+=GetG(n-2*j)*x[0][n];
}
}
dai_weitao 2007-05-06
  • 打赏
  • 举报
回复
没看到楼主哪里调用了m_start.y啊, 所以跟pData[]根本没关系的说.
不想低调 2007-05-06
  • 打赏
  • 举报
回复
lz要什么效果。。?
ljc_9449 2007-05-06
  • 打赏
  • 举报
回复
for(int i=m_startpos.x;i<m_endpos.x;i++)
{}
0黄瓜0 2007-05-06
  • 打赏
  • 举报
回复
你的for写法
for(int j=0;)
{
for(int n=0;...)
{
}
}

这不都是从0开始么
你改变m_EndPos和m_StartPos只能改变j,n 的结束位置

65,213

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧