运行出错,不知道哪里写错

Huffman.h
#include 
#include 
#include 
#include 
#define N 100
#define M 2*N-1

using namespace std;
typedef char *HuffmanCode[N+1];
typedef struct
{
    int weight;
    int parent,lchild,rchild;
}BTNode,HuffmanTree[M+1];

void select(HuffmanTree HT,int n,int s1,int s2){
    int min1=1000;
    int min2=1000;
    int a1,a2;
    for(int i=1;i<=n;i++){
        if(HT[i].parent==0&&min1>HT[i].weight){
            min1=HT[i].weight;
            s1=i;
        }
    }
    
    for(int i=1;i<=n;i++){
        if(i!=s1&&HT[i].parent==0){
            if(min2>HT[i].weight){
                min2=HT[i].weight;
                s2=i;
            }
        }
    }
    
}

//创建哈夫曼树
void CrdtdHuffmanTree(HuffmanTree HT,int n,int w[]){
    int m=2*n-1;
    int s1,s2;
    for(int i=1;i<=n;i++){
        HT[i].weight=w[i];
        HT[i].parent=0;
        HT[i].lchild=0;
        HT[i].rchild=0;
    }
    for(int i=n+1;i<=m;i++){
        HT[i].weight=0;
        HT[i].parent=0;
        HT[i].lchild=0;
        HT[i].rchild=0;
    }
    for(int i=n+1;i<=m;i++){
        select(HT,i-1,s1,s2);
        HT[i].weight=HT[s1].weight+HT[s2].weight;
        HT[i].lchild=s1;
        HT[i].rchild=s2;
        HT[s1].parent=i;
        HT[s2].parent=i;
    }
} 


//哈夫曼编码

void CrdHuffmanCode(HuffmanTree HT,HuffmanCode HC,int n){
    char *cd;
    cd=(char *)malloc(n*sizeof(char));
    cd[n-1]='\0';
    for(int i=1;i<=n;i++){
        int start=n-1;
        int c=i;
        int p=HT[i].parent;
        while(p!=0){
            --start;
            if(HT[p].lchild==c){
                cd[start]='0';
            }else{
                cd[start]='1';
            }
            c=p;
            p=HT[p].parent;
        }
        HC[i]=(char*)malloc((n-start)*sizeof(char));
        strcpy(HC[i],&cd[start]);
    }
    free(cd);
} 


#include 
#include "Huffman.h"
using namespace std;

int main() {
    HuffmanTree HT;
    HuffmanCode HC;
    int n;
    
    cout<<"请输入创建多少个叶子结点:"<>n;
    int w[100];
    cout<<"请输入对应结点的权值:"<for(int i=1;i<=n;i++){
        cin>>w[i];
    } 
    CrdtdHuffmanTree(HT, n,w);
    CrdHuffmanCode(HT,HC,n);
    
    for(int i=1;i<=2*n-1;i++){
        
        cout<<"结点  weight  parent  lchild  rchild"<"       "<"       "<"       "<"       "<for(int i=1;i<=n;i++){
        cout<return 0;
}

你写了这么一大堆代码才想起要调试吗
一步一步来,输入完直接打印,看输入有没有问题
每一步执行完,看是不是符合预期
没问题了再往下做
学编程先学调试
不会调试,那你写出来的代码都是没办法用的

你可以把报错贴出来,方便找错误

兄弟,你这一大段代码贴出来的同时,把错误信息也弄一下啊