C++二维数组,以及二维数组的转置

我们常用的数据叫做一维数组,是一串连续的内存空间,二维数组是在一维数组的基础上,相当于每一个元素又是一个一维数组
在这里插入图片描述
二维数组的定义也很简单

//定义一个十行十列的二维数组,也可以说是一个连续的拥有10个大小为10的一维数组
int a[10][10]

二维数组使用的话需要借助与循环嵌套,比如输入

for(h=0;h<5;h++)
	{
    
    
		for(l=0;l<5;l++)
		{
    
    
			printf("输入a[%d][%d]",h,l);
			scanf("%d",&a[h][l]);
		}
	}

那什么是转置呢?

转置,其实说的是行变列,列边行的一种倒置,效果见下面的代码

#include"stdio.h"
main(){
    
    
	int a[10][10],h,l;
	for(h=0;h<5;h++)
	{
    
    
		for(l=0;l<5;l++)
		{
    
    
			printf("输入a[%d][%d]",h,l);
			scanf("%d",&a[h][l]);
		}
	}
	printf("\n");
	for(h=0;h<5;h++)
	{
    
    
		for(l=0;l<5;l++)
		{
    
    
			printf("%d",a[h][l]);
		}
		printf("\n");
	}
	printf("\n");
	printf("\n");
	for(l=0;l<5;l++)
	{
    
    
		for(h=0;h<5;h++)
		{
    
    
			printf("%d",a[h][l]);
		}
		printf("\n");
	}
}

效果

输入a[0][0]1
输入a[0][1]2
输入a[0][2]3
输入a[0][3]4
输入a[0][4]5
输入a[1][0]6
输入a[1][1]7
输入a[1][2]8
输入a[1][3]9
输入a[1][4]0
输入a[2][0]11
输入a[2][1]12
输入a[2][2]13
输入a[2][3]14
输入a[2][4]15
输入a[3][0]16
输入a[3][1]17
输入a[3][2]18
输入a[3][3]19
输入a[3][4]20
输入a[4][0]21
输入a[4][1]22
输入a[4][2]23
输入a[4][3]24
输入a[4][4]25

12345
67890
1112131415
1617181920
2122232425


16111621
27121722
38131823
49141924
50152025

猜你喜欢

转载自blog.csdn.net/dudadudadd/article/details/112463598