2021-03-10

写一个函数求一个二维数组是否是对称的

“水平对称”
“垂直对称”
返回值:返回1 代表对称
		返回0 代表不对称 
#include <stdio.h>
/*写一个函数求一个二维数组是否是对称的
	“水平对称”
	“垂直对称”
	返回值:返回1 代表对称
			返回0 代表不对称 

*/
#define M 4
#define N 3

void Write(int a[][N], int m);
int Sym_horizon(int a[][N], int m);
int Sym_Vertical(int a[][N], int m);

int main(int argc, char *argv[])
{
	int a[M][N];

	printf("Enter the array with %d figures.\n", N * M);
	Write( a, M);
		
	printf("\n - Sym_horizon is %d\n", Sym_horizon( a, M));
	printf("\n | Sym_Vertical is %d\n", Sym_Vertical(a, M));
	
	return 0;
}


/*
Write 写入数组
@a: 数组名
@n:数组元素的个数
返回值:无
*/

void Write(int a[][N], int m)
{
	int i, j;
	for(i = 0; i < M; i++)
	{	
		for(j = 0; j < N; j++)
		{
			scanf("%d", &a[i][j]);
		}
		
	}
}


/* 
Sym_horizon 判断数组是否水平对称
@a : 数组名
@n :数组元素的个数
返回值 :1 水平对称
		 0 不水平对称
*/		


int Sym_horizon(int a[][N], int m)
{
	int i, j;
		
	for(j = 0; j < N /2 ; j++ )
	{
		for(i = 0; i < M; i++ )
		{
			if(a[i][j] != a[i][N - j-1])
				{
					return 0;
				}
				
		}
	}

	return 1;
}

/*
Sym_Vertical 数组是否垂直对称
@a :二维数组名
@N :数组元素的个数
返回值:1 垂直对称
		0 不垂直对称
*/

int Sym_Vertical(int a[][N], int m)
{
	int i, j;
	for(i = 0; i < M / 2; i++)
	{
		for(j = 0; j  < N ; j++)
		{
			if(a[i][j] != a[M - 1 - i][j])
				return 0;
		}
	}

	return 1;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
embedcpp-2021-03一个有关嵌入式C++编程的课程,于2021年3月举办。嵌入式C++编程是指在嵌入式系统中使用C++编程语言进行开发的一种方法。 在嵌入式系统中,资源通常是有限的,例如处理器速度、内存容量和存储空间等。因此,使用C++编程语言可以提供更高的灵活性和效率,帮助开发人员充分利用有限的资源。C++在嵌入式系统中的应用范围广泛,例如物联网设备、汽车电子和工业自动化等领域。 embedcpp-2021-03课程旨在向学员介绍嵌入式C++编程的基础知识和技巧。课程内容通常包括以下方面: 1. C++语法和特性:介绍C++的基本语法、面向对象编程和泛型编程等概念,以及C++11、C++14和C++17的一些新特性。 2. 嵌入式系统概述:了解嵌入式系统的基本特点、硬件和软件组成,以及与传统桌面开发的区别。 3. 低级编程:学习如何与硬件交互,包括使用寄存器、配置外设和处理中断等。还可以介绍使用汇编语言优化性能的技巧。 4. 内存管理:探讨嵌入式系统中的内存管理技术,包括堆栈和堆的使用、动态内存分配和对象生命周期管理等。 5. 实时操作系统(RTOS):介绍嵌入式系统中常用的实时操作系统,如FreeRTOS和µC/OS等,学习如何使用RTOS进行任务调度和资源管理。 除了理论知识,embedcpp-2021-03课程通常还包括实际的项目练习,以帮助学员将所学知识应用于实际场景。通过该课程,学员可以了解嵌入式C++编程的基础概念和实践技巧,为嵌入式系统开发提供了一定的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值