版块导航
正在加载中...
客户端APP下载
论文辅导
调剂小程序
登录
注册
帖子
帖子
用户
本版
应《网络安全法》要求,自2017年10月1日起,未进行实名认证将不得使用互联网跟帖服务。为保障您的帐号能够正常使用,请尽快对帐号进行手机号验证,感谢您的理解与支持!
24小时热门版块排行榜
>
论坛更新日志
(595)
>
虫友互识
(64)
>
休闲灌水
(26)
>
导师招生
(18)
>
论文投稿
(11)
>
公派出国
(10)
>
考博
(9)
>
考研
(9)
>
硕博家园
(5)
>
基金申请
(3)
>
文献求助
(3)
>
教师之家
(2)
>
有奖起名
(1)
>
留学DIY
(1)
>
找工作
(1)
小木虫论坛-学术科研互动平台
»
计算模拟区
»
程序语言
»
C/C++
»
【求助】问一个程序,某处有点不明白。。。【已完结】
5
1/1
返回列表
查看: 859 | 回复: 12
只看楼主
@他人
存档
新回复提醒
(忽略)
收藏
在APP中查看
本帖产生 1 个 程序强帖 ,点击这里进行查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖
zyj8119
木虫
(著名写手)
应助: 65
(初中生)
贵宾: 0.003
金币: 915.1
帖子: 2936
在线: 1329.4小时
虫号: 664177
[交流]
【求助】问一个程序,某处有点不明白。。。【已完结】
以下程序是将一个5*5的矩阵中最大的元素放在中心,四个角分别放置最小的元素。
CODE:
#include
#include
void process(int[][5]);
void main()
{ int a[5][5]={{16,17,18,19,1},{5,4,3,2,20},{25,24,23,22,21},{6,7,8,9,10},{15,14,13,12,11}};
cout<<"处理前的矩阵:\n";
for(int i=0;i<5;i++){
for(int j=0;j<5;j++)cout<
cout<
}
process(a);
cout<<"处理后的矩阵:\n";
for(i=0;i<5;i++){
for(int j=0;j<5;j++)cout<
cout<
}
}
void process(int a[][5])
{ int i,m,j,t, *p=&a[0][0];
int n[4]={0,4,20,24};
for(m=p[0],j=0,i=1;i<25;i++)
if(m
t=p[12];p[12]=m;p[j]=t;
for(int k=0;k<4;k++){
m=p[n[k]];j=n[k];
for(i=0;i<25;i++){
if(i==n[t])break;
if(t>=k&&m>p[i]){m=p[i];j=i;}//此处为什么必须t>=k
}
if(j!=n[k])t=p[n[k]],p[n[k]]=m,p[j]=t;
}
}
[
Last edited by nono2009 on 2010-11-12 at 08:41
]
回复此楼
» 猜你喜欢
博士自荐
已经有6人回复
博士推荐
已经有4人回复
求环氧树脂研发1名
已经有10人回复
280求调剂
已经有5人回复
什么是人一生最重要的?
已经有10人回复
面上可以超过30页吧?
已经有13人回复
为什么中国大学工科教授们水了那么多所谓的顶会顶刊,但还是做不出宇树机器人?
已经有13人回复
版面费该交吗
已经有17人回复
【博士招生】太原理工大学2026化工博士
已经有8人回复
高级回复
» 抢金币啦!回帖就可以得到:
查看全部散金贴
长春工业大学课题组招收硕士调剂生(化工、化学、材料、环境、制药、生物等方向)
+
1
/576
坐标广州,征女友
+
2
/168
87 年东北人定居苏州,诚寻携手余生的你
+
1
/156
太原科技大学材料科学与工程学院招收金属材料类博士一名
+
1
/82
澳大利亚昆士兰大学化工学院吕妙强课题组招收项目支持的全奖博士生2名
+
1
/81
长春工业大学化学工程学院招收26年硕士调剂生
+
1
/80
26国自然面上,大家是否还写研究方案?
+
1
/70
大理大学博士研究生招生
+
1
/66
澳门理工大学人工智能智慧康养2026 年9月入学 博士招生有奖学金
+
1
/28
【加拿大卡尔顿大学】招博士生【心理学人工智能】
+
1
/16
深圳理工大学刘鑫课题组高薪招聘博士后
+
1
/9
电子科技大学材料学院可持续发展未来技术创新中心招收博士生及科研助理
+
1
/9
2026年西南科技大学材料与化学-功能涂层调剂招生
+
1
/9
国家级人才护航,省重点平台赋能,卢宝阳教授课题组诚邀有志学子共筑科研新辉煌!
+
1
/7
深圳理工大学刘鑫课题组高薪招聘博士后
+
1
/6
【博士招生】北方工业大学招收机械工程方向申请考核制博士
+
1
/4
北京航空航天大学国际创新研究院(国新院)詹天卓教授团队博士后招聘启事
+
1
/3
湖北工业大学2026年博士研究生(生物医药专博+轻工技术与工程学博)
+
1
/2
青岛科技大学高分子学院--让我们一起做有趣的研究
+
1
/2
PostDoc fellowship: Video-Based 3D Human Kinematics Extraction/Pose Esitimation!
+
1
/2
1楼
2010-11-11 02:01:07
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
wangww2011
木虫
(著名写手)
程序强帖: 13
应助: 11
(小学生)
金币: 4023.1
帖子: 1915
在线: 1537.1小时
虫号: 772953
★
zyj8119(金币+5):谢谢朋友精彩的程序!!!! 2010-11-12 01:55:39
nono2009(金币+1, 程序强帖+1):鼓励应助 2010-11-12 08:41:15
我觉得这个答案和题目有点不符合啊
我重写了,虽然不简洁,但是很好理解
CODE:
#include
#include
void process2(int a[][5]) {
int i, k, tmp;
int *p = &a[0][0];
int min[4],max = p[0];
int index[5];
int n[5] = {0, 4, 20, 24, 12};
for (i = 0; i < 25; i++) {//得到最大值
if (max < p[i]) {
max = p[i];
index[4] = i;
}
}
for (k = 0; k < 4; k++) {//得到4个最小值
min[k] = p[k];
for (i = 0; i < 25; i++) {
if (min[k] > p[i]) {
min[k] = p[i];
index[k] = i;
}
}
p[index[k]] = max;//把当前的最小值换成最大值
}
for (k = 0; k < 4; k++) {//还原原始数组
p[index[k]] = min[k];
}
for (k = 0; k < 5; k++) {//放到特定位置
tmp = p[n[k]];
p[n[k]] = p[index[k]];
p[index[k]] = tmp;
}
}
void main() {
int a[5][5] = {
{16, 17, 18, 19, 1},
{5, 4, 3, 2, 20},
{25, 24, 23, 22, 21},
{6, 7, 8, 9, 10},
{15, 14, 13, 12, 11}
};
int i, j;
for (i = 0; i < 5; i++) {
for (j = 0; j < 5; j++)printf("%4d", a[i][j]);
printf("\n");
}
process2(a);
printf("\n");
for (i = 0; i < 5; i++) {
for (j = 0; j < 5; j++)printf("%4d", a[i][j]);
printf("\n");
}
getchar();
}
引用回帖:
Originally posted by
zyj8119
at 2010-11-11 22:52:25:
我也感觉有问题,但是找不出在哪里,这个就是答案的程序。。。。
赞
一下
(1人)
回复此楼
高级回复
9楼
2010-11-12 00:30:18
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
查看全部 13 个回答
生活很无奈
银虫
(初入文坛)
应助: 0
(幼儿园)
金币: 279.5
帖子: 44
在线: 21小时
虫号: 1140838
zyj8119(金币+5):感谢跟进。。。。 2010-11-11 22:53:29
这个程序本身就有问题啊!
最后一个循环里 if(i==n[t]) 就有问题,这里的n[t]无意义啊!!!!
赞
一下
回复此楼
2楼
2010-11-11 22:24:42
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
wangww2011
木虫
(著名写手)
程序强帖: 13
应助: 11
(小学生)
金币: 4023.1
帖子: 1915
在线: 1537.1小时
虫号: 772953
lz这个题目不太清楚啊,是把25个数据中的最大放在中间,25个中最小的放在四个脚上其他的不管吗?
赞
一下
回复此楼
3楼
2010-11-11 22:28:02
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
zyj8119
木虫
(著名写手)
应助: 65
(初中生)
贵宾: 0.003
金币: 915.1
帖子: 2936
在线: 1329.4小时
虫号: 664177
引用回帖:
Originally posted by
wangww2011
at 2010-11-11 22:28:02:
lz这个题目不太清楚啊,是把25个数据中的最大放在中间,25个中最小的放在四个脚上其他的不管吗?
最小的四个数放在四个角上。。。
赞
一下
回复此楼
4楼
2010-11-11 22:29:31
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
查看全部 13 个回答
如果回帖内容含有宣传信息,请如实选中。否则帐号将被全论坛禁言
普通表情
龙
兔
虎
猫
高级回复
(可上传附件)
百度网盘
|
360云盘
|
千易网盘
|
华为网盘
在新窗口页面中打开自己喜欢的网盘网站,将文件上传后,然后将下载链接复制到帖子内容中就可以了。
信息提示
关闭
请填处理意见
关闭
确定