回 帖 发 新 帖 刷新版面

主题:从一堆数中找出符合条件的若干个数存到矩阵中

现在要从M*N个数(存放在src)中,找出符合条件的number个数(number<M*N),按顺序存到矩阵(des)中。该怎么办呢?貌似我的代码成了死循环。。。谢谢!
[code=c]
    int i=0;
    int j=0;
    int k=0;
    int symbol=0;//用于跳出循环
    while(k<number)
    {
        while(i<M)
        {
            while(j<m_N)
            {
                if(*(src+i+j*M)==ii)
                {
                    *(des+k)=*(src+j*M+i);
                    ++k;
                    ++j;
                    symbol=1;
                    break;
                }
                ++j;
            }
            if(symbol)
            {
                symbol=0;
                if(j==N)
                    ++i;
                break;
            }
            ++i;
        }
    }
[/code]

回复列表 (共1个回复)

沙发

按顺序存到矩阵
------ 你这个“顺序”是啥顺序?

你的代码一看就知道 i j 没有在每次循环时重新赋值,都是不良编码习惯造成的

我来回复

您尚未登录,请登录后再回复。点此登录或注册