| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 692 人关注过本帖
标题:请教一道关于结构和排序的题(想用二维数组)
取消只看楼主 加入收藏
傥来
Rank: 2
等 级:论坛游民
帖 子:5
专家分:10
注 册:2014-5-4
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
请教一道关于结构和排序的题(想用二维数组)
先po题目
//呃。。。居然不能po图 还是我不会。。

[b]题目:[/b]
Description

时值情人节,青羽送了一个百宝箱给小衣,大小为n×m,每个格子里都有一件物品,物品价值为vi。现在需要你将这些格子按照价值从大到小排序。价值相同行号小的在前,行号再相同时,则列号在前的优先。
Input
第一行输入两个整数n,m表示百宝箱的大小。
接着输入n行m列的数据,分别表示对应格子里的物品的价值。
Output
按照要求排序后,每行输出一个行号、一个列号以及该行列号表示的格子里的物品价值。
Sample Input
3 5
19 5 12 15 4
16 7 14 5 19
19 10 1 17 2
Sample Output
1 1 19
2 5 19
3 1 19
3 4 17
2 1 16
1 4 15
2 3 14
1 3 12
3 2 10
2 2 7
1 2 5
2 4 5
1 5 4
3 5 2
3 3 1
HINT
输出时,格子的行列数与日常生活的计数习惯一致,即从1开始。

我写的程序:

#include<stdio.h>
struct Thing
{
    int a,b,value; //构建结构体
};
int main()
{
    int m,n;
    Thing th[100][100],t;//定义一个 二维数组 去存放 某个物品,并且定义一个 暂存的空间;
    scanf("%d %d",&n,&m);//读入行列
    int i,j,p,q;
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
        {
            scanf("%d",&th[i][j].value);//读入每个物体的价值
            th[i][j].a=i+1;//赋值 行
            th[i][j].b=j+1;//赋值 列
        }
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
        {
            for(p=i;p<n;p++)
                for(q=j;q<m;q++)
            if(th[i][j].value<th[p][q].value || th[i][j].value==th[p][q].value && th[i][j].a>th[p][q].a ||
                th[i][j].value==th[p][q].value && th[i][j].a==th[p][q].a && th[i][j].b>th[p][q].b)
            {
                t=th[i][j];th[i][j]=th[p][q];th[p][q]=th[i][j];//交换
            }
        }
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
        {
            printf("%d %d %d\n",th[i][j].a,th[i][j].b,th[i][j].value);//输出
        }
    return 0;
}



【在草纸上演算了几步 感觉算法对啊】
【c++上运行是ok的 但是出不来正确结果 一堆不明所以的东西】
【so...还是算法出错了吗?!
搜索更多相关主题的帖子: 百宝箱 情人节 格子 价值 
2014-05-06 21:51
傥来
Rank: 2
等 级:论坛游民
帖 子:5
专家分:10
注 册:2014-5-4
收藏
得分:0 
发了几遍都没出来。。以为被吞了 。。

(*^__^*) 嘻嘻 还好出来了最后
2014-05-06 21:54
快速回复:请教一道关于结构和排序的题(想用二维数组)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024990 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved