划分子集问题(队列应用)

用c语言划分子集

没有结果输出,并且中文运行是乱码,之前都是正常的

#include
#include
#define TRUE 1
#define FALSE 0
#define N 9
typedef int QueueElementType;
typedef struct
{
    QueueElementType element[N];
    int front;
    int rear;
}SeqQueue;
void InitQueue(SeqQueue *Q);
int EnterQueue(SeqQueue *Q,QueueElementType x);
int DeleteQueue(SeqQueue *Q,QueueElementType *x);
void DivideQueue(SeqQueue *Q,int R[N][N]);
int main()
{
    int R[9][9] =
    {
        0,1,0,0,0,0,0,0,0,
        1,0,0,0,1,1,0,1,1,
        0,0,0,0,0,1,1,0,0,
        0,0,0,0,1,0,0,0,1,
        0,1,0,1,0,1,1,0,1,
        0,1,1,0,1,0,1,0,0,
        0,0,1,0,1,1,0,0,0,
        0,1,0,0,0,0,0,0,0,
        0,1,0,1,1,0,0,0,0
    };
    SeqQueue *Q;
    InitQueue(Q);
    for(int i=0;i<9;i++)
        EnterQueue(Q,i+1);
    DivideQueue(Q,R);
    return 0;
}
void InitQueue(SeqQueue *Q)
{
        Q->front=Q->rear=0;
}
int EnterQueue(SeqQueue *Q,QueueElementType x)
{

    while((Q->rear)%N!=Q->front)
    {
        Q->element[Q->rear]=x;
        Q->rear=(Q->rear+1)%N;
        return TRUE;
    }
}
int DeleteQueue(SeqQueue *Q,QueueElementType *x)
{
    if(Q->front==Q->rear)
        return FALSE;
    *x=Q->element[Q->front];
    Q->front=(Q->front+1)%N;
    return TRUE;
}
void DivideQueue(SeqQueue *Q,int R[N][N])
{
    int result[9]={0};
    int Group = 0;
    int newr[9]={0};

    int Pre=Q->rear;
    int Cur;

    while(Q->front!=Q->rear)
    {
        Group+=1;

        for(int i=0;i<9;i++)    //取行数
        {
            newr[i]=R[Q->element[Q->front]][i];
        }

        while(Q->front!=Pre)        //划分子集
        {
            DeleteQueue(Q,&Cur);
            if(newr[Cur-1]==0)
            {
                result[Cur-1]=Group;
                for(int i=0;i<9;i++)
                    newr[i]+=R[Cur-1][i];
            }
            else
                EnterQueue(Q,Cur);
        }
        Pre=Q->rear;
    }
    //printf("划分子集:\n");
    for(int i=1;i<=Group;i++)       //输出子集
    {
       for(int q=0;q<9;q++)
       {
           if(result[q]==i)
                printf("%d ",Q->element[q]);
       }
       printf("\n");
    }
}



最开始有输出但是调了一下DividedQueue函数后就没有了,并且中文也输出是乱码不知道是不是程序的问题