标题:询问一个问题(关于矩阵,)用的是递归,却不知道为什么不能编译出来
只看楼主
wuxiangbo098
Rank: 1
等 级:新手上路
帖 子:14
专家分:6
注 册:2010-1-22
结帖率:50%
已结贴  问题点数:10 回复次数:8 
询问一个问题(关于矩阵,)用的是递归,却不知道为什么不能编译出来
题目的样子是这样的:
 1   2   3    4    5
16   17  18   19   6
15   24  25   20   7
14   23  22   21   8
13   12  11   10   9
                  


#include<stdio.h>
#include<stdlib.h>
#define size 4
typedef struct comeover{
    int a[size][size];
}justdoit;
int main()
{
    justdoit a;
    int i,j;
    justdoit urbeauty(justdoit , int );
    a=urbeauty(a,size);
        for(i=0;i<=size;i++)
            for(j=0;j<=size;j++)
    》》》》》        printf("%2d",a[i][j]);
            return EXIT_SUCCESS;
}
justdoit urbeauty(justdoit a,int n)
{
    int i,j,b,c,d;
    static k=1;
    if(n>1)
    {
    for(i=0;i<size;i++);
    switch (i){
    case 0:
           for(j=size-n;j<=n;j++)
      》》》》        a[size-n][j]=k++;
        break;
    case 1 :
           for(j=n,b=size-n+1;b<=n;b++)
》》》》》》》        a[b][j]=k++;
        break;
    case 2 :
           for(c=n,j=size-n+1;j<=n;j++)
》》》》》            a[c][size-j]=k++;
                 break;
    case 3 :
           for(j=size-n,d=size-n+1;d<=n;d++)
》》》》》》》》        a[size-d+1][size-n]=k++;
        break;
    }
    urbeauty(a,n-1);
}return a;
}



问题出现,我用》》》》表示,


F:\编程艺术#、\环绕矩阵。\矩阵。.cpp(15) : error C2676: binary '[' : 'struct comeover' does not define this operator or a conversion to a type acceptable to the predefined operator
F:\编程艺术#、\环绕矩阵。\矩阵。.cpp(28) : error C2676: binary '[' : 'struct comeover' does not define this operator or a conversion to a type acceptable to the predefined operator
F:\编程艺术#、\环绕矩阵。\矩阵。.cpp(32) : error C2676: binary '[' : 'struct comeover' does not define this operator or a conversion to a type acceptable to the predefined operator
F:\编程艺术#、\环绕矩阵。\矩阵。.cpp(36) : error C2676: binary '[' : 'struct comeover' does not define this operator or a conversion to a type acceptable to the predefined operator
F:\编程艺术#、\环绕矩阵。\矩阵。.cpp(40) : error C2676: binary '[' : 'struct comeover' does not define this operator or a conversion to a type acceptable to the predefined operator

请问这是怎么回事,请高手指点指点,谢谢。
搜索更多相关主题的帖子: 编译 矩阵 递归 询问 
2010-01-22 15:47
梁子
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:83
专家分:191
注 册:2009-9-20
得分:3 
你这样定义justdoit a;后,要用a.a[][],来读写结构体中的内容。
2010-01-22 16:06
wuxiangbo098
Rank: 1
等 级:新手上路
帖 子:14
专家分:6
注 册:2010-1-22
得分:0 
justdoit urbeauty(justdoit a,int n)
改为justdoit urbeauty(justdoit a[][],int n)?

是这样么?
2010-01-22 16:08
wuxiangbo098
Rank: 1
等 级:新手上路
帖 子:14
专家分:6
注 册:2010-1-22
得分:0 
回复 2楼 梁子
justdoit urbeauty(justdoit a,int n)
改为justdoit urbeauty(justdoit a[][],int n)?

是这样么?
2010-01-22 16:09
jiangwu10057
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:341
专家分:667
注 册:2009-3-25
得分:3 
你这个很乱··
2010-01-22 16:11
梁子
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:83
专家分:191
注 册:2009-9-20
得分:0 
int main()
{
    justdoit a;
    int i,j;
    justdoit urbeauty(justdoit , int );
    a=urbeauty(a,size);
        for(i=0;i<=size;i++)
            for(j=0;j<=size;j++)
    》》》》》        printf("%2d",a.a[i][j]);//改成这样试试,其余地方改法相同
            return EXIT_SUCCESS;
}
2010-01-22 16:36
yiyigyf
Rank: 1
来 自:江苏苏州
等 级:新手上路
帖 子:6
专家分:3
注 册:2009-12-29
得分:3 
当年我做这题的时候,有想到比你简单的多得多的算法。

我想要一个不断追逐的理想!
2010-01-23 13:19
yiyigyf
Rank: 1
来 自:江苏苏州
等 级:新手上路
帖 子:6
专家分:3
注 册:2009-12-29
得分:0 
支持了楼上的说法

我想要一个不断追逐的理想!
2010-01-23 13:24
wuxiangbo098
Rank: 1
等 级:新手上路
帖 子:14
专家分:6
注 册:2010-1-22
得分:0 
回复 8楼 yiyigyf
简单的是否用的是数组?
因为感觉数组我找不到思路,所以就用了递归,
呵呵,还请指点指点,
2010-01-23 14:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-296259-1-1.html




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

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