读书人

(有图有真相)怎么从一个大矩阵中找出

发布时间: 2012-06-12 14:21:25 作者: rapoo

(有图有真相)如何从一个大矩阵中找出一个特定形式的小矩阵?

如图所示,我要从一个随机产生的大矩阵中找出一个指定的2*2矩阵,并且统计它们一共出现了多少次,分别在哪。
在程序中实际出现了10个相同元素矩阵,但是我只找到了四个,代码如下,请大家指教,谢谢

C/C++ code
flag=0;    for(i=0;i<n;i++)    for(j=0;j<n;j++)        if(a[i][j]==b[0][0])//||b[0][0]=='X')        {                        //flag=0;             for(x=0;x<p;x++)                 for(y=0;y<q;y++)                     if(a[i+x][j+y]==b[x][y])                     {                         flag=1;                         continue;                     }                     else                     {                            flag=0;                         break;                     }             if((flag==1))//&&(x==p)&&(y==q))             {                 printf("match find at [%d %d]\n", i+1, j+1);                 counter++;                 continue;             }        }        else        {            break;        }                            if(counter!=0)    {        printf("\nPattern found %d times\n", counter);    }    else    {        printf("\nPattern NOT found");    }     getch();     fclose(myFile);     fclose(fp);


[解决办法]
IME 伤不起啊 帮顶 求解
[解决办法]
看看这样行不行
for(i=0;i<n-1;i++)
for(j=0;j<n-1;j++)
if(a[i][j]==1&&a[i+1][j]==0&&a[i][j+1]==0&&a[i+1][j+1]==1)
flag=1;
else
continue;
[解决办法]
左上角为1的时候,看(i+1,j)、(i,j+1)、(i+1,j+1)的值是否满足你的要求
注意你的遍历i的范围i+1《n j+1《m

读书人网 >C语言

热点推荐