关于#顺序表#的问题,如何解决?(语言-c++)

建立一个顺序表,随机产生10个100以内的整数,并按要求完成:
(1)在屏幕上显示顺序表中的10个整数;
(2)把值为x的元素插入到值为a的元素后面,若不存在a,则把x插入到表尾,显示更新后的顺序表
(3)删除顺序表中某一个位序为i的数据元素,并用参数e记录被删除数据元素的值。
已有参考代码:

#include<iostream>
#include<cstdlib>
using namespace std;
const int Maxsize=20;
struct Biao{
    int data[Maxsize];
    int lenth;
};
Biao get_data(Biao a,int lenth){
    for(int i=0;i<lenth;i++){
        a.data[i]=(rand()%101);
    }
    a.lenth=lenth;
    return a;
}
Biao get_in(Biao a,int x,int y){
    int n=-1;
    for(int i=0;i<a.lenth;i++){
        if(a.data[i]==x){
            n=i;
            break;
        }
    }
    if(n==-1){
        a.data[a.lenth]=y;
    }
    else{
        for(int i=a.lenth;i>n;i--){
            a.data[i+1]=a.data[i];
        }
        a.data[n+1]=y;
    }
    a.lenth++;
    return a;
}
Biao get_delete(Biao a,int i){
    cout<<"删除的元素是:"<<a.data[i-1]<<endl;
    for(i=i-1;i<a.lenth-1;i++){
        a.data[i]=a.data[i+1];
    }
    a.lenth--;
    return a;
}
void show(Biao a){
    for(int i=0;i<a.lenth;i++){
        cout<<a.data[i]<<"  ";
    }
}
int main(){
    Biao num;
    num=get_data(num,10);
    cout<<"初始顺序表:"<<endl;
    show(num);
    cout<<endl<<"增加100加到84数据后的顺序表:"<<endl;
    num=get_in(num,84,100);
    show(num);
    cout<<endl<<"删除第4个数据后的顺序表:"<<endl;
    num=get_delete(num,4);
    show(num);
    return 0;
}

试运行上面的代码,没发现什么问题啊。