| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1203 人关注过本帖
标题:请高手进来帮忙解决魔方矩阵的问题,谢谢了..
取消只看楼主 加入收藏
qleevv
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2006-10-17
收藏
 问题点数:0 回复次数:6 
请高手进来帮忙解决魔方矩阵的问题,谢谢了..
看了楼下兄弟的回复,我方才省悟,初来贵宝地,不懂规矩,请多多原谅.
我要认真学习版规.


魔方矩阵的问题 就是输入1-n的自然数,
形成如3*3 或5*5的矩阵,这个矩阵每行的数之和和每列的数之和以及对角线的数之和都是相等的.

我这错在哪了? 得不到我想要的东东啊.
顺便问下,魔方阵这个题目是不是很难?老潭数组那章的习题我大部分都能做出来,最次也都有个思路.
但是这个我自己做做不出来,一点思路都没..
我是抄老潭题库的答案的,结果还不对,郁闷.
发现老潭的书上的错误不少啊.
前面就有类似的问题.
偶是初学c的新手.帮帮忙.谢谢了.
#include <stdio.h>
main()
{int a[16][16],i,j,k,p,m,n;
p=1;
while(p==1)
{printf("请输入n.(1<n<=15,n是奇数.)\n");
scanf("%d",&n);
if((n!=0)&&(n<=15)&&(n%2!=0))
{printf("矩阵阶数是%d\n.",n);
p=0;
}
}
for(i=0;i<=n;i++)
for(j=1;j<=n;j++)
a[i][j]=0;
j=n/2+1;
a[1][j]=1;
for(k=2;k<=n*n;k++)
{i=i-1;
j=j+1;
if((i<1)&&(j>0))
{i=i+2;j=j-1;}
else{if(i<1)i=n;
if(i>n)j=1;
}
if(a[i][j]==0)
a[i][j]=k;
else
{i=i+2;
j=j-1;
a[i][j]=k;
}
}
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
printf("%3d",a[i][j]);
printf("\n");
}
}

[此贴子已经被作者于2007-1-9 15:30:23编辑过]

搜索更多相关主题的帖子: 魔方 矩阵 
2007-01-08 22:45
qleevv
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2006-10-17
收藏
得分:0 
自己顶..
没人来啊
=.=
2007-01-09 14:55
qleevv
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2006-10-17
收藏
得分:0 
哦 sorry
是这样的
所谓魔方阵就是输入1-n的自然数,
形成如3*3 或5*5的矩阵,这个矩阵每行的数之和和每列的数之和以及对角线的数之和都是相等的.

[此贴子已经被作者于2007-1-9 15:22:00编辑过]

2007-01-09 15:21
qleevv
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2006-10-17
收藏
得分:0 

首先谢谢楼上的MM?
这个题我不会做
原抄老潭的习题库的答案
程序编译无错 运行却得不到想要的东东
楼上的解释我明白
但是按你的解释 我还是不会做.

[此贴子已经被作者于2007-1-9 15:28:30编辑过]

2007-01-09 15:27
qleevv
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2006-10-17
收藏
得分:0 
以下是引用Still_Linux在2007-1-9 15:11:30的发言:

你写的这样标题谁进来啊?去看看生存手册吧,会也不给你解答!

我只是标题写的不对劲,没有别的什么吧,为什么说会也不给说呢? 不过还是要谢谢你提醒我.我刚看完.
3Q

[此贴子已经被作者于2007-1-9 15:37:35编辑过]

2007-01-09 15:31
qleevv
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2006-10-17
收藏
得分:0 
谢谢你了 呵呵
一会我试下
还想问你个问题
#i nclude"conio.h"
是调用什么库函数
不懂啊...
只知道#i nclude"stdio.h"和"include "mathe.h"
偶是一只很菜的菜鸟

[此贴子已经被作者于2007-1-9 18:19:59编辑过]

2007-01-09 17:49
qleevv
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2006-10-17
收藏
得分:0 
以下是引用pinglideyu在2007-1-9 18:20:24的发言:
是这样的。你看楼上的“getchar();”这个必须要包含在头文件《include <conio.h>》里面。就是这样。如果还是有些不清楚 ,建议看看书吧。

不对把 getchar() 好象包含在#include "stdio.h"
MM 表欺负偶
偶是只菜菜鸟哦


其实9楼的兄弟你的程序写成这样
#include "stdio.h"
#define N 5
main()
{
int a[N][N]={0},i,j,x,y,cur_x,cur_y;
a[0][N/2]=1;
cur_x=0;cur_y=N/2;
for(i=2;i<=N*N;i++)
{
x=cur_x;y=cur_y;
cur_x==0?cur_x=N-1:cur_x--;
cur_y==0?cur_y=N-1:cur_y--;
if(a[cur_x][cur_y]!=0)
{
cur_x=(x+1)%N;cur_y=y;
a[cur_x][cur_y]=i;
}
else a[cur_x][cur_y]=i;
}
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%-4d",a[i][j]);
printf("\n");
}
}
旧好了么
加#include "conio.h"
clrscr();
编译会出错的.

[此贴子已经被作者于2007-1-9 18:46:08编辑过]

2007-01-09 18:30
快速回复:请高手进来帮忙解决魔方矩阵的问题,谢谢了..
数据加载中...
 
   



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

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