10:矩阵转置

10:矩阵转置

总时间限制: 
1000ms

内存限制: 
65536kB
描述

输入一个n行m列的矩阵A,输出它的转置AT

输入
第一行包含两个整数n和m,表示矩阵A的行数和列数。1 <= n <= 100,1 <= m <= 100。
接下来n行,每行m个整数,表示矩阵A的元素。相邻两个整数之间用单个空格隔开,每个元素均在1~1000之间。
输出
m行,每行n个整数,为矩阵A的转置。相邻两个整数之间用单个空格隔开。
样例输入
3 3
1 2 3
4 5 6
7 8 9
样例输出
1 4 7
2 5 8
3 6 9
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 using namespace std;
 5 int a[10001][10001];
 6 int main()
 7 {
 8     int n,m;
 9     cin>>n>>m;
10     for(int i=1;i<=n;i++)
11     {
12         for(int j=1;j<=m;j++)
13         {
14             cin>>a[i][j];
15         }
16     }
17     int j=1;
18     if(n==1)
19     {
20         for(int i=1;i<=n;i++)
21         {
22             for(int j=1;j<=m;j++)
23             {
24                 cout<<a[i][j];
25                 cout<<endl;
26             }
27         }
28         return 0;
29     }
30
31     for(int i=1;i<=n;i++)
32     {
33
34         while(j<=m)
35         {
36             cout<<a[i][j]<<" ";
37             i++;
38             if(i==n)
39             {
40                 cout<<a[i][j]<<" ";
41                 cout<<endl;
42                 j++;
43                 i=1;
44             }
45
46         }
47
48     }
49     return 0;
50 }

时间: 2024-10-10 05:22:25

10:矩阵转置的相关文章

(算法)求矩阵转置

题目: 编写一个函数,输入为一个矩阵,打印这个矩阵转置后的结果. 例: 输入矩阵是 1,2,3,4 5,6,7,8 9,10,11,12 13,14,15,16 打印结果应该是 13,9,5,1 14,10,6,2 15,11,7,3 16,12,8,4 思路: 1.从外到内,一圈一圈地循环替换: 2.对矩阵进行从[i,j]到[j,i]的交换,然后在进行列的首尾交换: 代码: #include<iostream> #include<vector> using namespace s

java 矩阵转置算法

工作中用到了行列转置,把这两种情况的算法记下来,以便后用 1.行列数相等的转置 1 /** 2 * @description 矩阵转置 3 * @author oldmonk 4 * @time 2017年8月18日 5 */ 6 public class test { 7 8 public static void main(String [] args) { 9 int data [][] = new int [] [] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8,

1154: 零起点学算法61——矩阵转置

1154: 零起点学算法61--矩阵转置 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 1324  Accepted: 698[Submit][Status][Web Board] Description 现要求你把一个矩阵行列转置后输出,注意行数和列数可能不相同的. Input 多组测试数据,每组测试数据先在一行输入n 和m ,表示这个矩阵的行数和列数(1 < n,m <= 10) 然后是n行

题目1193:矩阵转置

题目描述: 输入一个N*N的矩阵,将其转置后输出.要求:不得使用任何数组(就地逆置). 输入: 输入的第一行包括一个整数N,(1<=N<=100),代表矩阵的维数. 接下来的N行每行有N个整数,分别代表矩阵的元素. 输出: 可能有多组测试数据,对于每组数据,将输入的矩阵转置后输出. 样例输入: 3 1 2 3 4 5 6 7 8 9 样例输出: 1 4 7 2 5 8 3 6 9 来源: 2007年华中科技大学计算机研究生机试真题 #include <stdio.h> int ma

POJ 3268 Silver Cow Party(dijkstra+矩阵转置)

Silver Cow Party Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 15460   Accepted: 7004 Description One cow from each of N farms (1 ≤ N ≤ 1000) conveniently numbered 1..N is going to attend the big cow party to be held at farm #X (1 ≤ X 

python 矩阵转置

arrA=[[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]] N=4 #声明4x4数组arr arrB=[[None] * N for row in range(N)] print('[原设置的矩阵内容]') for i in range(4): for j in range(4): print('%d' %arrA[i][j],end='\t') print() #进行矩阵转置的操作 for i in range(4): for j in rang

矩阵转置

#include<stdio.h>main(){ int a[2][3],b[3][2]; int i,j; //input a for(i=0;i<2;i++) { for(j=0;j<3;j++) { scanf("%d",&a[i][j]); } } // zhuanzhi b for(j=0;j<3;j++) { for(i=0;i<2;i++) { b[j][i]=a[i][j]; } } //ouput bfor(j=0;j<

C语言之基本算法42—矩阵转置及按行按列排序

//矩阵转置 按行按列排序 /* ================================================================== 题目:输入m*n矩阵,按行升序排列输出. 输入: 4 3 5 6 2 9 8 1 2 8 7 1 2 3 8 输出: 2 3 4 5 6 1 2 8 8 9 1 2 3 7 8 ================================================================== */ #includ

python矩阵转置 以及 计算余弦

矩阵转置: http://stackoverflow.com/questions/5954603/python-numpy-transpose http://www.imissy.cn/?p=105 余弦计算: http://stackoverflow.com/questions/1823293/optimized-method-for-calculating-cosine-distance-in-python