给定一个 n X n 的矩阵,求它的转置矩阵
【例题】循环输入,每组数据先输入一个 n(n<=10),然后 n 行 n 列数据代表一个矩阵,每个数据为一个整数,输出它的转置矩阵。
对于转置矩阵其实就是上三角元素元素 a[i][j]
和下三角元素 a[j][i]
互换,其中 j > i
。
#include <iostream>
const int MAX = 10;int input_matrix(int a, int b, int M[MAX][MAX])
{std::cout << "input matrix is " << std::endl;for (int i = 0; i < a; i++){for (int j = 0; j < b; j++){std::cin >> M[i][j];}}return 0;
}int output_matrix(int a, int b, int M[MAX][MAX])
{std::cout << "output matrix is " << std::endl;for (int i = 0; i < a; i++){for (int j = 0; j < b; j++){std::cout << M[i][j] << " ";}std::cout << std::endl;}return 0;
}void swap(int *a, int *b)
{int temp;temp = *a;*a = *b;*b = temp;
}int transform_matrix(int n, int m, int A[MAX][MAX])
{int tmp[MAX][MAX];for (int i = 0; i < n; i++){for (int j = i+1; j < m; j++){swap(&A[i][j], &A[j][i]);}}}int main()
{int n;std::cout << "input n X n matrix" << std::endl;while (std::cin >> n){int matA[MAX][MAX];input_matrix(n, n, matA);transform_matrix(n, n, matA);std::cout << "transform_matrix is " << std::endl;output_matrix(n, n, matA); }return 0;
}
给定一个 n X n 的矩阵,求它的转置矩阵相关推荐
- 给定一个二维的 0-1 矩阵,其中 0 表示海洋,1 表示陆地。单独的或相邻的陆地可以形成岛屿,每个格子只与其上下左右四个格子相邻。求最大的岛屿面积。
给定一个二维的 0-1 矩阵,其中 0 表示海洋,1 表示陆地.单独的或相邻的陆地可以形成岛屿,每个格子只与其上下左右四个格子相邻.求最大的岛屿面积. function func(arr) {/*** ...
- 给定一个未排序的数组,求如果数组排序之后,相邻数的最大差值。
给定一个未排序的数组,求如果数组排序之后,相邻数的最大差值.要求时间复杂度为O(n),且要求不能用非基于比较的排序. 首先,这个问题明显限制了不能使用直接排序的方式求解.因为基于比较的排序时间复杂度最 ...
- 给定一个 n X n 的矩阵 和 R,求旋转 90 X R 度以后的矩阵
1. 问题 [例题]循环输入,每组数据先输入一个 n(n<=10),然后 n 行 n 列数据代表一个矩阵, 每个数据为一个整数,然后再给出一个数字 R,输出这个矩阵按照顺时针旋转 90 X R ...
- 连续字母长度 给定一个字符串 只包含大写字母
注意!答案仅作为参考(实际考试中下列代码通过用例100%,但不代表最优解) 给定一个字符串 只包含大写字母 求在包含同一字母的子串中 长度第K长的子串 相同字母只取最长的子串 输入第一行 一个子串 1 ...
- 给定一个n*m矩阵,求从左上角到右下角走的项目3个问题?
这个问题中走矩阵的格子还是定点是不一样的. 这里给出两个解法. 题目1:给定一个n*m矩阵,求从左上角格子到右下角格子总共存在多少条路径,每次只能向右走或者向下走. # 题目1:给定一个n*m矩阵,求 ...
- 给定一个二维 0-1 矩阵,其中 1 表示陆地,0 表示海洋,每个位置与上下左右相连。已知矩阵中有且只有两个岛屿,求最少要填海造陆多少个位置才可以将两个岛屿相连。
给定一个二维 0-1 矩阵,其中 1 表示陆地,0 表示海洋,每个位置与上下左右相连.已知矩阵中有且只有两个岛屿,求最少要填海造陆多少个位置才可以将两个岛屿相连. 输入是一个二维整数数组,输出是一个非 ...
- 给定一个矩阵m*n,从左上角开始每次只能向右或者向下走,最后到右下角的位置共有多少种路径
题目描述 给定一个矩阵m*n,从左上角开始每次只能向右或者向下走,最后到右下角的位置,路径上所有的数字累加起来就是路径和,返回所有的路径中最小的路径和. 思路: 1.排列组合 要从A到B,必须向左走6 ...
- [分支限界]给定一个矩阵m*n,从左上角开始每次只能向右或者向下走,最后到右下角的位置共有多少种路径
分支限界解最短路径 问题描述: 要求: 随机数算法 分支限界算法 程序源码 问题描述: 给定一个m行n列的矩阵,从左上角开始每次只能向右或向下移动,最后到达右下角的位置,路径上的所有数字累加起来作为这 ...
- php给定一个起始数字,下标值0,递减的值,求出他所有递减值的开头数字和结尾数字。
php给定一个起始数字,下标值0,递减的值,求出他所有递减值的开头数字和结尾数字.并打印出来 代码如下: //php给定一个起始数字,下标值0,递减的值,求出他所有递减值的开头数字和结尾数字.publ ...
- Java黑皮书课后题第8章:***8.35(最大块)给定一个元素为0或者1的方阵,编写程序,找到一个元素都为1的最大的子方阵。程序提示用户输入矩阵的行数。然后显示最大的子方阵的第一个元素、行数
***8.35(最大块)给定一个元素为0或者1的方阵,编写程序,找到一个元素都为1的最大的子方阵.程序提示用户输入矩阵的行数.然后显示最大的子方阵的第一个元素.行数 题目 题目描述与运行示例 破题 代 ...
最新文章
- axios 一些用法总结
- Android自定义View的实现方法,带你一步步深入了解View
- 三种监控平台配置及其整合(cacti nagios ganglia)
- div中图片下方有边距
- Linux学习笔记(七):Shell与Shell Script
- 分布式事务处理--消息发送一致性的异常流程处理
- UVA - 10041 Vito's Family (中位数)
- r语言导出文件为xlxs_R语言数据导出到Excel表格-如何将R语言中的表格数据输出为Excel文件...
- 秃顶和程序员有直接关系?
- 七十七.ags4-1.1.15
- Java程序优雅关闭的两种方法(程序停止前做一些善后工作)
- 域名被封的表现 微信域名不能访问的解决办法
- java列转行_关于java8根据某个字段分组,列转行的问题
- 卯の花曇(うのはなぐもり) どんなお天気でも
- 计算机辅助教学是人工智能应用,人工智能技术在计算机辅助教学中的应用与实现...
- 飞秋无法顺利通信时的解决办法--设置成相同的网段
- 亚马逊、Shopee、Lazada删评论是怎么回事?站斧浏览器可以避免评论被删吗?
- 4G+5G多卡聚合路由通信设备在近海通讯中的解决方案
- 2021年CKA考试真题(四)
- 微信公众测试号——测试号自定义用户界面