本文主要是介绍调整方阵,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- 题目描述:
-
输入一个N(N<=10)阶方阵,按照如下方式调整方阵:
1.将第一列中最大数所在的行与第一行对调。
2.将第二列中从第二行到第N行最大数所在的行与第二行对调。
依此类推...
N-1.将第N-1列中从第N-1行到第N行最大数所在的行与第N-1行对调。
N.输出这个方阵
- 输入:
-
包含多组测试数据,每组测试数据第一行为一个整数N,表示方阵的阶数.
接下来输入这个N阶方阵.
- 输出:
-
调整后的方阵
- 样例输入:
-
4 3 6 8 7 6 7 5 3 8 6 5 3 9 8 7 2
- 样例输出:
-
9 8 7 2 6 7 5 3 3 6 8 7
8 6 5 3
-
-
#include <iostream>using namespace std;int main() {int Matr[11][11];int n,i,j,k;while(cin>>n){for(i = 0;i < n;i++){for(j = 0;j < n;j++){cin>>Matr[i][j];}}for(i = 0;i < n-1;i++){int locate = 0,max = Matr[i][i];for(j = i;j < n;j++){if(max < Matr[j][i]){locate = j;}}for(k = 0;k < n;k++){int tmp;tmp = Matr[i][k];Matr[i][k] = Matr[locate][k];Matr[locate][k] = tmp;}}for(i = 0;i < n;i++){for(j = 0;j < n;j++){if(j == n - 1){cout<<Matr[i][j]<<endl;;}else{cout<<Matr[i][j]<<" ";}}}}return 0; }
这道题没有通过OJ测试,是WA,但是个人感觉是对的,最起码思路是对的
这篇关于调整方阵的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!