| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1657 人关注过本帖
标题:[求助]关于内旋矩阵的问题
只看楼主 加入收藏
yizhouh
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-9-29
收藏
 问题点数:0 回复次数:8 
[求助]关于内旋矩阵的问题
内旋矩阵究竟该怎么写?偶不会,希望有大侠帮忙教下!
搜索更多相关主题的帖子: 矩阵 
2007-10-25 17:16
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
什么叫 “内旋矩阵”?

Fight  to win  or  die...
2007-10-25 19:47
yizhouh
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-9-29
收藏
得分:0 

又叫逆旋矩阵,是n×n阶的矩阵,

1 20 19 18 17 16
2 21 22 23 24 15
3 36 35 34 25 14
4 31 32 33 26 13
5 30 29 28 27 12
6 7 8 9 10 11

这就是一个6×6的内旋矩阵,按照1,2,3,4,5,6,7,8,9,10,11... ...这样的
用的是二维数组解的


人在江湖走,怎能不挨刀,为了能活口,唯有把己超!
2007-10-25 21:08
cobby
Rank: 1
等 级:新手上路
威 望:1
帖 子:565
专家分:0
注 册:2007-7-11
收藏
得分:0 
哇靠,你这不是一般的内旋吧,弯来弯去的那么复杂啊。。。。那真的不会了

努力成为菜鸟!
2007-10-26 08:26
yizhouh
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-9-29
收藏
得分:0 
上次的发错了,是这样的

1 20 19 18 17 16
2 21 32 31 30 15
3 22 33 36 29 14
4 23 34 35 28 13
5 24 25 26 27 12
6 7 8 9 10 11


真对不起大家!!!

人在江湖走,怎能不挨刀,为了能活口,唯有把己超!
2007-10-28 11:10
柒兲
Rank: 1
等 级:新手上路
威 望:1
帖 子:126
专家分:0
注 册:2007-9-26
收藏
得分:0 

不明白


2007-10-28 20:38
zxc1998
Rank: 1
等 级:新手上路
威 望:1
帖 子:133
专家分:0
注 册:2007-3-21
收藏
得分:0 

可以看一下这个程序:(已调试通过)

#include <stdio.h>

void main()
{
int data[10][10];
int n = 6;
int start, bound,k;

int i = 0;
int j = 0;
int loop = 0;

for(k = 1; k <= n*n; k++) {
data[i][j] = k;
bound = n - loop - 1;
start = loop;

if (i == start) {//left to right
if (j < bound) j ++;
else i ++;
}else if ((j == bound) && (i != bound)) {
if (i < bound) i ++;
else j ++;
}else if ((i == bound) && (j != start)) {
if (j > start) j --;
else i ++;
}else if ((j == start) && (i != start)) {
if (i > start+1) i --;
else j++, loop++;
}
}

for (i = 0; i < n ; i ++) {
for (j = 0; j < n; j++)
printf ("%4d",data[i][j]);
printf("\n");
}

}

2007-10-29 22:55
柒兲
Rank: 1
等 级:新手上路
威 望:1
帖 子:126
专家分:0
注 册:2007-9-26
收藏
得分:0 

佩服!

2007-10-30 12:56
fanailing
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-10-27
收藏
得分:0 
用数组求内旋矩阵 填空
#include<stdio.h>
main()
int i,j,k,m,n,A[20][20];
printf("please input n=");
scanf("%d",&n);
i=1;k=1;
m=n*n;
while(i<=m&&k<=n/2)
{
    for(j=;j<= ;j++)
    {
        A[k][j]=i++;
    }

    for(j= ;j<= ;j++)
{
        A[j][n-k+1]=i++;
    }

    for(j= ;j<= ;j--)
{
        A[n-k+1][j]=i++;
    }
    for(j= ;j<= ;j--)
    {
        A[k][j]=i++;
        k++
    }
    if(()&&())A[k][k]=m

        for(i=1;i<=n;i++)
        {
        for(j=1;j<=n;j++)
        printf("%4d",A[i][j]);
        
        }
}
2008-10-27 14:46
快速回复:[求助]关于内旋矩阵的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022616 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved