C语言实现矩阵的转置
来源:互联网 发布:java中的foreach循环 编辑:程序博客网 时间:2024/05/17 03:46
#include<stdio.h>#include<stdlib.h>#include<string.h>void output_matrix(char* p,int m,int n);int main(){char matrix[30][30];int m,n;int i,j;int min;char temp;printf("请输入矩阵的行数和列数:\n");scanf("%d%d",&m,&n);getchar();printf("请输入数据:\n");for(i = 0;i < m;i++){for(j = 0;j < n;j++){matrix[i][j] = getchar();}}printf("\n");output_matrix(matrix[0],m,n);min = m>n?n:m;for(i = 0;i < m;i++){for(j = 0;j < n;j++){if(i < min && j < min){if(i < j){temp = matrix[i][j];matrix[i][j] = matrix[j][i];matrix[j][i] = temp;}}else{matrix[j][i] = matrix[i][j];}}}printf("\n");output_matrix(matrix[0],n,m);system("pause");return 0;}void output_matrix(char* p,int m,int n){int i,j;for(i = 0;i < m;i++){for(j = 0;j < n;j++){printf("%c ",*(p+i*30+j) );}printf("\n");}}注意:在输出矩阵的函数中,*(p+i*30+j)中的30是初始定义matrix时的列数。即matrix【30】【30】中的后一个30。如果写成了*(p+i*n+j)会造成地址的错误。还有就是,我采用的是字符,故而输入比如 2*3 的字符矩阵时,直接输入连续的6个字母即可,中间不用空格隔开,如:abcdef
阅读全文
0 0
- C语言实现矩阵的转置
- 数据结构之---C语言实现矩阵的转置
- 编写C语言程序实现矩阵的转置
- c语言实现矩阵的三元组表示 + 矩阵的转置
- 矩阵的转置---(C语言)
- C语言:稀疏矩阵的转置
- 矩阵的转置 C语言
- C语言 矩阵的相乘实现
- 矩阵求逆的C语言实现
- 矩阵乘法的C语言实现
- C语言实现矩阵的四则运算
- 矩阵的转置和行列式等操作的c语言实现
- 【C语言】矩阵转置
- Linux下的C语言编程——指针实现矩阵转置
- C/C++实现矩阵的转置
- C数组实现矩阵的转置
- C数组实现矩阵的转置
- C语言实现矩阵相乘
- spark job server on Spark1.6.0-CDH5.11.0初步使用
- Redis数据结构-链表
- ZigBee CC2530 Z-Stack 27 终端设备低功耗模式与电池寿命1-理论
- 将“hello world” 输出为“world hello”
- POJ
- C语言实现矩阵的转置
- Titanic: Machine Learning from Disaster
- mysql 存储过程(临时表、循环、游标综合运用)
- 07_
- WindowsError的错误代码详解
- UVALive 7272 Promotions【拓扑排序】【bitset】
- Eclipse 修改背景图片(不是修改背景颜色)
- cartogarpher slam 3
- python实现最小二乘法(转)