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

我的心病,帮帮忙谢谢,写写代码

nishimywife 发布于 2009-11-15 22:32, 397 次点击
怎样解决这个问题

有这么一个程序,我做了三年也没有把它给做出来,真的很遗憾, 那位大哥帮帮忙,谢谢了:
题目是一个五乘五的矩阵,五行五列,要求吧 最小的四个数放到四个角上,最大的一个数放到中间,用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
            望高手指点怎样写这个程序;
3 回复
#2
flyingcloude2009-11-15 23:57
最小的四个数放到四个角上,最大的一个数放到中间
如果就这个要求的话,那么实现起来不困难的。
#3
flyingcloude2009-11-15 23:58
回复 2楼 flyingcloude
只要先放好四个最小的和一个最大的,其他填充上去就可以了
#4
ml36411042009-11-19 20:04
#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 b,c,d,i=0,j=3;
    for(b=0;b<24;b++)
    {
    for(c=0;c<24-b;c++)
    {
    if(a[c]>a[c+1])
    {
    d=a[c];
    a[c]=a[c+1];
    a[c+1]=d;
    }
    }
    }
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