• 九度oj 题目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

    本来很简单的题,但想尝试一下索引的办法,
    代码如下
     1 #include <cstdio>
     2 #include <cstring>
     3 #include <algorithm>
     4 #include <iostream>
     5 using namespace std;
     6 
     7 int num[12][12];
     8 int myIndex[12];
     9 
    10 int main() {
    11     int    n;
    12     while (scanf("%d", &n) != EOF && n != 0) {
    13         for (int i = 0; i < n; i++) {
    14             for (int j = 0; j < n; j++) {
    15                 scanf("%d", &num[i][j]);
    16             }
    17             myIndex[i] = i;
    18         }
    19         for (int j = 0; j < n; j++) {
    20             int maxv = num[myIndex[j]][j];
    21             int maxi = j;
    22             for (int i = j+1; i < n; i++) {
    23                 if (num[myIndex[i]][j] > maxv) {
    24                     maxv = num[myIndex[i]][j];
    25                     maxi = i;
    26                 }
    27             }
    28             int tmp = myIndex[j];
    29             myIndex[j] = myIndex[maxi];
    30             myIndex[maxi] = tmp;
    31             //printf("%d
    ", maxi);
    32         }
    33         for (int i = 0; i < n; i++) {
    34             printf("%d", num[myIndex[i]][0]);
    35             for (int j = 1; j < n; j++) {
    36                 printf(" %d", num[myIndex[i]][j]);
    37             }
    38             puts("");
    39         }
    40     }
    41     return 0;
    42 }

    第一次提交数组是index 居然提交编译错误,可能是库函数里有吧

  • 相关阅读:
    Log4Net使用
    4月博文
    论坛题目练习
    职场冷笑话两则
    初识管理的一些心得
    Project中分清楚挣值项
    预留规划项
    小感触
    好事多磨,好事成双
    忧郁
  • 原文地址:https://www.cnblogs.com/jasonJie/p/5875289.html
Copyright © 2020-2023  润新知