建立一维参数如下:
int* a=new int[8];
for(i=1;i<=8;i++)//数列a
{
a[i-1]=i;
cout<<"检a"<<i-1<<" "<<i<<"\n";
}
建立二维参数如下:
int (*g)[3]=new int[3][3];
int m;
for(i=0;i<3;i++){
for(j=0;j<3;j++){
cin>>m;
g[i][j]=m;
}
}
传递函数如下:(选择了一种较简单的传参方式,其余可自行搜索)
void compare(int *a,int (*g)[3]){
int i=0,j=0;
int f=0,v=0;
for(i=0;i<3;i++){
for(j=0;j<3;j++){
if(g[i][j]!=a[v]&&g[i][j]!=9){//不相同 //
cout<<"检gij"<<g[i][j]<<" "<<a[v];
f=1 ;
cout<<"不相同";
break;
}else if(g[i][j]!=9&&g[i][j]==a[v]){
cout<<"检f"<<f<<" "<<v;
v++;
}
}
}
完整代码如下:
#include<stdlib.h>
#include<stdio.h>
#include<malloc.h>
#include<iostream>
using namespace std;
void compare(int *a,int (*g)[3]);
int main(){
int i=0,j=0;
int* a=new int[8];
for(i=1;i<=8;i++)//数列a
{
a[i-1]=i;
cout<<"检a"<<i-1<<" "<<i<<"\n";
}
int (*g)[3]=new int[3][3];
int m;
for(i=0;i<3;i++){
for(j=0;j<3;j++){
cin>>m;
g[i][j]=m;
}
}
compare(a,g);
}
void compare(int *a,int (*g)[3]){
int i=0,j=0;
int f=0,v=0;
for(i=0;i<3;i++){
for(j=0;j<3;j++){
if(g[i][j]!=a[v]&&g[i][j]!=9){//不相同 //
cout<<"检gij"<<g[i][j]<<" "<<a[v];
f=1 ;
cout<<"不相同";
break;
}else if(g[i][j]!=9&&g[i][j]==a[v]){
cout<<"检f"<<f<<" "<<v;
v++;
}
}
}
}
运行结果如下: