zoukankan      html  css  js  c++  java
  • 二维数组转置-对角线对称

    问题如图

    在这里插入图片描述

    Code

    #include<stdio.h>
    //行列 
    #define COL 3
    #define ROW 3
    void inputData(int array[][COL]);
    void printAll(int array[][COL]);
    void transpositionArray(int array[][COL]);
    int main(){
    	
    	int array[ROW][COL]={0};
    	//输入 
    	inputData(array);
    	printf("原数组
    "); 
    	//打印 
    	printAll(array);
    	//转置 
    	transpositionArray(array);
    	printf("已转置数组
    "); 
    	//打印 
    	printAll(array);
    	
    	system("pause"); 
    	return 0;
    }
    void inputData(int array[][COL]){
    	int x,y;
    	for(y=0;y<ROW;y++){
    		for(x=0;x<COL;x++){
    			printf("请输入第%d行第%d列数据:",y+1,x+1);
    			fflush(stdin);
    			scanf("%d",&array[y][x]);
    			
    		}
    	}
    }
    void transpositionArray(int array[][COL]){
    	int temp=0;
    	int x,y;
    	//沿着对角线对称换一下值就好了。又因为对角线不需要变动,所以有了下面的循环条件。 
    	for(y=1;y<ROW;y++){
    		for(x=0;x<y;x++){
    			temp=array[y][x];
    			array[y][x]=array[x][y];
    			array[x][y]=temp;
    		}
    	}
    }
    void printAll(int array[][COL]){
    	int x,y;
    	for(y=0;y<ROW;y++){
    	
    		for(x=0;x<COL;x++){
    			printf("%d ",array[y][x]);
    		}
    		printf("
    ");
    	}
    }
    
    

    演示图

    在这里插入图片描述

  • 相关阅读:
    [USACO13NOV] Pogo-Cow
    《高性能Mysql》讲聚簇索引
    复合索引底层实现
    数据库索引实现(B+,B-,hash)
    B+树,B树,聚集索引,非聚集索引
    MySQL存储引擎
    synchronized实现原理
    【1】线程池的使用
    CompletionService
    原型模式
  • 原文地址:https://www.cnblogs.com/tfxz/p/12823703.html
Copyright © 2011-2022 走看看