版块导航
正在加载中...
客户端APP下载
论文辅导
申博辅导
登录
注册
帖子
帖子
用户
本版
应《网络安全法》要求,自2017年10月1日起,未进行实名认证将不得使用互联网跟帖服务。为保障您的帐号能够正常使用,请尽快对帐号进行手机号验证,感谢您的理解与支持!
24小时热门版块排行榜
>
论坛更新日志
(2120)
>
虫友互识
(163)
>
导师招生
(49)
>
文献求助
(26)
>
论文道贺祈福
(21)
>
考博
(17)
>
休闲灌水
(16)
>
基金申请
(15)
>
博后之家
(13)
>
硕博家园
(13)
>
教师之家
(11)
>
招聘信息布告栏
(9)
>
考研
(9)
>
论文投稿
(9)
>
公派出国
(6)
>
绿色求助(高悬赏)
(5)
小木虫论坛-学术科研互动平台
»
计算模拟区
»
程序语言
»
C/C++
»
【求助】问一个程序,某处有点不明白。。。【已完结】
5
1/1
返回列表
查看: 815 | 回复: 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
]
回复此楼
» 猜你喜欢
有院领导为了换新车,用横向课题经费买了俩车
已经有4人回复
有时候真觉得大城市人没有县城人甚至个体户幸福
已经有9人回复
CSC & MSCA 博洛尼亚大学能源材料课题组博士/博士后招生|MSCA经费充足、排名优
已经有6人回复
天津大学招2026.09的博士生,欢迎大家推荐交流(博导是本人)
已经有4人回复
同年申请2项不同项目,第1个项目里不写第2个项目的信息,可以吗
已经有3人回复
面上项目申报
已经有3人回复
酰胺脱乙酰基
已经有9人回复
博士延得我,科研能力直往上蹿
已经有7人回复
面上基金申报没有其他的参与者成吗
已经有5人回复
遇见不省心的家人很难过
已经有22人回复
高级回复
» 抢金币啦!回帖就可以得到:
查看全部散金贴
湖南大学材料院陶益杰老师招收2026年秋季入学博士生一名及联合培养硕士学生一名
+
1
/187
香港岭南大学郭瑛课题组博士招生 (2026年秋季入学)
+
1
/177
坐标浙江宁波,诚征女友
+
1
/63
香港科技大学计算物理及流体力学课题组招收全奖博士后及博士生(2026年9月入学)
+
1
/40
西安交通大学前沿院/机械学院招收2026级硕博研究生!
+
1
/31
新加坡 南洋理工大学- 智能光子/ 传感 PHD 全奖一名 2026 - 8 月入学
+
1
/19
苏州大学招收申请考核制博士生、博士后(2026)
+
1
/17
南京医科大学国家级高层次青年人才团队招收博士研究生
+
1
/11
意大利华人老师University of Padova-全额奖学金博士
+
1
/10
招收中国CSC或学校资助联培博士生/访问学生-- Tsinghua-A*STAR 2025 Joint Funding
+
1
/10
哈工大 张乃庆课题组招收博士快响计划(名额充足),通过后随时入学
+
1
/10
2026年 陕西科技大学 环境学院 招收博士生(化学/材料/环境/生物 背景均可)
+
1
/8
联合研究团队招聘博后等青年人才
+
1
/7
《中文期刊点评》这个模块,怎么不能点评期刊了呢自动跳转到主页了
+
1
/5
广东省智能院与澳门大学/澳门理工联培博士招生
+
1
/4
2026年博士申请考核+福州大学+管理科学与工程
+
1
/4
邵阳学院食品与化学工程学院硕士调剂
+
1
/3
推荐一款可以AI辅助写作的Latex编辑器SmartLatexEditor,超级好用,AI润色,全免费
+
1
/3
山东第一医科大学第一附属医院招聘事业编制科研岗
+
1
/2
中国科学院深圳先进技术研究院——招聘博士后
+
3
/1
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云盘
|
千易网盘
|
华为网盘
在新窗口页面中打开自己喜欢的网盘网站,将文件上传后,然后将下载链接复制到帖子内容中就可以了。
信息提示
关闭
请填处理意见
关闭
确定