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

矩阵输出

yanmin0614 发布于 2007-10-03 09:49, 878 次点击

6. 矩阵中填数. 当给出 N*N 的矩阵,要求用程序填入下列形式的数:

① 倒填,例如N=5 ② 蛇形填数 ③ 回转填数

┌─┬─┬─┬─┬─┐ ┌─┬─┬─┬─┬─┐ ┌─┬─┬─┬─┬─┐
│25│24│23│22│21│ │ 1│ 3│ 4│10│11│ │ 1│16│15│14│13│
├─┼─┼─┼─┼─┤ ├─┼─┼─┼─┼─┤ ├─┼─┼─┼─┼─┤
│20│19│18│17│16│ │ 2│ 5│ 9│12│19│ │ 2│17│24│23│12│
├─┼─┼─┼─┼─┤ ├─┼─┼─┼─┼─┤ ├─┼─┼─┼─┼─┤
│15│14│13│12│11│ │ 6│ 8│13│18│20│ │ 3│18│25│22│11│
├─┼─┼─┼─┼─┤ ├─┼─┼─┼─┼─┤ ├─┼─┼─┼─┼─┤
│10│ 9│ 8│ 7│ 6│ │ 7│14│17│21│24│ │ 4│19│20│21│10│
├─┼─┼─┼─┼─┤ ├─┼─┼─┼─┼─┤ ├─┼─┼─┼─┼─┤
│ 5│ 4│ 3│ 2│ 1│ │15│16│22│23│25│ │ 5│ 6│ 7│ 8│ 9│
└─┴─┴─┴─┴─┘ └─┴─┴─┴─┴─┘ └─┴─┴─┴─┴─┘

谁能编出来,谢谢了

7 回复
#2
Black_smart2007-10-03 20:33

写下第一个,比较简单...
#include<iostream>
#include <iomanip>
using namespace std;
void main()
{
cout<<"请输入矩阵大小N\n";
int i,j,a,N;
cin>>N;
a=N*N;
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
cout<<setw(5)<<a;
a--;
if(j==N-1)
cout<<"\n";

}
}

}

[此贴子已经被作者于2007-10-3 23:23:28编辑过]

#3
海子星竹2007-10-03 20:46
论坛上不是有嘛
野比发的76道编程题上去找
#4
yanmin06142007-10-04 09:17

没答案

#5
yanmin06142007-10-04 09:22
三楼你看过76题吗,没看过别嚷嚷,我想看更好的程序。
#6
coachard2007-10-04 10:48

第二个不是zig-zag扫描吗???

只要抓住规律,这三题都不难丫。

#7
远去的列车2007-10-04 11:24
我写了个在 76道题 的 234 楼

https://bbs.bc-cn.net/dispbbs.asp?boardid=56&replyid=353526&id=147967&page=2&skin=0&star=24

[此贴子已经被作者于2007-10-4 11:31:09编辑过]

#8
aipb20072007-10-04 12:29
锻炼你对“循环结构”的掌控力。
1