c++,二维参数的建立及传递,以及与一维参数的比较

建立一维参数如下:

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++;
}
	}
	}
}

运行结果如下:

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qiu___nan

谢谢!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值