注册 登录
编程论坛 C++教室

怎样解决这个问题

nishimywife 发布于 2009-11-09 18:03, 1046 次点击
有这么一个程序,我做了三年也没有把它给做出来,真的很遗憾, 那位大哥帮帮忙,谢谢了:
题目是一个五乘五的矩阵,五行五列,要求吧 最小的四个数放到四个角上,最大的一个数放到中间,用c++ 指针实现:
也就是  
               1,2,3,4,5                                     1,5,6,7,2                   1,5,21,13,2
               6,7,8,9,10                                    8,9,10,11,12                6,7,8,9,10
               11,12,13,14,15        在屏幕上输出是          13,14,25,15,16   二种:           11.12,25,14,15      
               16,17,18,19,20                                17,18,19,20,21              16,17,18,19,20
               21,22,23,24,25                                3,22,23,24,4                3,22,23,24,4
            望高手指点怎样写这个程序;
12 回复
#2
flyingcloude2009-11-09 22:13
这有个规律的,可以先从三乘三的开始找。
具体什么规律我也记不清了。
#3
flyingcloude2009-11-10 12:14
回复 2楼 flyingcloude
看错题目,还以为你要写一个5*5的幻方。

你这个程序是不是只要满足最大数放中间,最小四个数放角上就可以了?
#4
一旋无风2009-11-11 21:13
不会吧?这要做三年?
#5
一旋无风2009-11-11 21:17
一个五乘五的矩阵,五行五列,要求吧 最小的四个数放到四个角上,最大的一个数放到中间
照这样不是有可能有20!种输出情况?
#6
平凡不在2009-11-14 21:33
把最大的四个数和最小的四个数找出来,然后重新定义个二维数组,再把原来的数组中赋值到新定义的数组中,只要注意赋值的顺序
#7
电脑有缘2009-11-15 14:33
太难,不会
#8
nishimywife2009-11-15 22:21
回复 4楼 一旋无风
是啊,你会做吗?那就麻烦你吧代码写给我把,我再次谢谢.虽然结贴,还是没有人能告诉答案,难道本坛真的没人了吗>哎,悲哀啊
#9
nishimywife2009-11-15 22:23
回复 5楼 一旋无风
只要我说的良种就好
#10
nishimywife2009-11-15 22:25
回复 6楼 平凡不在
麻烦你写一下代码,好不好,我真的很菜,谢谢
#11
nishimywife2009-11-15 22:27
回复 3楼 flyingcloude
斑竹,你到那里去了,怎么不见你出现啊,帮帮忙啊
#12
nishimywife2009-11-15 22:28
回复 3楼 flyingcloude
帮忙把代码歇夏来,谢谢你,求求你,
#13
ml36411042009-11-18 22:32
#include <iostream.h>
void main()
{
   
    int a[25]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,24};
    int i=0,j=3,c;
for(c=0;c<25;c++)
{
    j++;
if((c==0)||(c==20))
{
cout<<a[i]<<",";
i++;
j--;
}
else if(c==4||(c==24))
{
cout<<a[i]<<endl;
i++;
j--;
}
else if((c==9)||(c==14)||(c==19))
{
cout<<a[j]<<endl;
}
else if(j>3)
{
cout<<a[j]<<",";
}
}
}
我只会这么做
1