九度1470:调整方阵

简介:

题目描述:
输入一个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

来源:
2011年西北工业大学计算机研究生机试真题

 


 

#include<stdio.h>
#include<limits.h>
int a[20][20];
void Swap(int &a,int &b)
{
    int t;
    t=a;
    a=b;
    b=t;
}
void Change(int x,int y,int n)
{
     int i;
     for(i=0;i<n;i++)
     {
       Swap(a[x][i],a[y][i]);
     }
}
void Found(int x,int n)
{
     int i,flag=-1,max=a[x][x];
     for(i=x;i<n;i++)
     {
       if(a[i][x]>max) 
       {
          max=a[i][x];
          flag=i;
       }
     }
     if(flag!=-1)
     Change(x,flag,n);
}
int main()
{
    int i,j,n;
    while(scanf("%d",&n)!=EOF)
    {
       for(i=0;i<n;i++)
       for(j=0;j<n;j++)
       scanf("%d",&a[i][j]);
       for(i=0;i<n;i++)
       Found(i,n);
       for(i=0;i<n;i++)
       {
         for(j=0;j<n;j++)
         {
           printf("%d",a[i][j]);
           if(j!=n-1)
           printf(" ");//一定要注意空格的问题!好多人死在这
         }
         printf("\n");
       }
    }
    return 0;
}


 

相关文章
|
1月前
|
算法 C++
空间中判断点在三角形内算法(方程法)
空间中判断点在三角形内算法(方程法)
43 0
|
3月前
技术心得记录:可决系数R^2和方差膨胀因子VIF
技术心得记录:可决系数R^2和方差膨胀因子VIF
34 0
|
3月前
|
机器学习/深度学习 算法
简单遗传算法 + 最低水平线算法求解二维排样问题
简单遗传算法 + 最低水平线算法求解二维排样问题
46 0
|
3月前
|
算法 Python
二维矩形件排样算法之最低水平线搜索算法实现
二维矩形件排样算法之最低水平线搜索算法实现
102 0
7.7 空间曲线及其方程
7.7 空间曲线及其方程
62 0
7.5 空间直线及其方程
7.5 空间直线及其方程
62 0
|
移动开发
半正定矩阵和正定矩阵的一些理解和补充
半正定矩阵和正定矩阵的一些理解和补充
1449 0
|
机器学习/深度学习 自然语言处理 算法
【每日算法Day 93】不用额外空间,你会旋转一个矩阵吗?
【每日算法Day 93】不用额外空间,你会旋转一个矩阵吗?
【矩阵分析】矩阵幂级数 发散 条件 || 幂级数 与 解析函数 的关系 || 幂级数 收敛半径r 的求法
【矩阵分析】矩阵幂级数 发散 条件 || 幂级数 与 解析函数 的关系 || 幂级数 收敛半径r 的求法
【矩阵分析】矩阵幂级数 发散 条件 || 幂级数 与 解析函数 的关系 || 幂级数 收敛半径r 的求法
计算整数n阶矩阵的主/副对角线元素之和并输出
计算整数n阶矩阵的主/副对角线元素之和并输出
计算整数n阶矩阵的主/副对角线元素之和并输出