2个二维数组的交集

时间:2018-01-08 22:28:39

标签: c++ arrays

我想确定2个二维数组的交集。

这是我的代码:

#include < iostream >
using namespace std; 

void type(int mat[][10],int n)
{
  for(int i=0;i<n;i++) 
    for(int j=0;j<n;j++)
      cin>>mat[i][j];
}

void inter(int a[][10], int n,int b[][10],int m)
{
  int k1=0,p, x,ok,j, c[50],i;
  for(i=0;i<n;i++){
    for(j=0;j<n;j++){
      p=0; x=0;
      while(p<m)
      {  
        ok=0;
        while(x<m)
        {
          if(a[i][j]==b[p][x]) ok=1;
          if(ok) c[k1++]=a[i][j];
            x++;
        }
        p++;
      }
      for(i=0;i<n;i++)
      {
        cout<<c[i]<<" ";
        cout<<endl;}
      } 
    }
  }
}  // !!! added in edit!!!

int main()
{
  int n,m,mat[10][10],c[30],mat2[10][10];
  cout<<"n= ";cin>>n; 
  type(mat,n);
  cout<<"m= "; cin>>m;
  type(mat2,m); 
  inter(mat,n,mat2,m);
  return 0;
}

它没有告诉我预期的答案。它给我这样的数字: 1 4758024 1 4758024 有人可以帮帮我吗?

0 个答案:

没有答案