矩阵的转置

来源:互联网 发布:java ...参数 编辑:程序博客网 时间:2024/05/21 07:52
数据结构实验之数组一:矩阵转置
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
数组——矩阵的转置
给定一个m*n的矩阵(m,n<=100),求该矩阵的转置矩阵并输出。

输入
输入包含多组测试数据,每组测试数据格式如下:
第一行包含两个数m,n
以下m行,每行n个数,分别代表矩阵内的元素。
(保证矩阵内的数字在int范围之内)

输出
对于每组输出,输出给定矩阵的转置矩阵。两组输出之间用空行隔开。

示例输入
2 3
1 2 3
4 5 6
1 1
1
示例输出
1 4
2 5
3 6

1
<pre name="code" class="cpp">//# include <stdio.h># include <bits/stdc++.h>using namespace std;//error: declaration of 'r_matrix' as multidimensional array must have bounds for all dimensions except the first|void reverse_matrix(int matrix[][100],int r_matrix[][100],int m,int n);void print_matrix(int matrix[][100],int row,int col);int main(){    int i,j;    int matrix[100][100];    int r_matrix[100][100];    int m,n;    //while(scanf("%d%d",&m,&n))    while(cin>>m>>n)    {        for(i=0;i<m;i++)        {            for(j=0;j<n;j++)            {               //scanf("%d",&matrix[i][j]);               cin>>matrix[i][j];            }        }        reverse_matrix(matrix,r_matrix,m,n);        print_matrix(r_matrix,n,m);        printf("\n");    }    return 0;}void reverse_matrix(int matrix[][100],int r_matrix[][100],int m,int n){    int i,j;    for(i=0;i<n;i++)    {        for(j=0;j<m;j++)        {            r_matrix[i][j] = matrix[j][i];        }    }}void print_matrix(int matrix[][100],int row,int col){    int i,j;    for(i=0;i<row;i++)    {        for(j=0;j<col;j++)        {            if(j!=col-1)            {                printf("%d ",matrix[i][j]);            }            else            {                printf("%d\n",matrix[i][j]);            }        }    }}


                                             
0 0
原创粉丝点击