Not getting output print

#include
using namespace std;

class tnode{
public:
int data;
tnodeleft;
tnode
right;

tnode(int val){
	data=val;
	left=right=NULL;
}

};

tnodebuildtree(int arr[],int s,int e){
if(s>e){
return NULL;
}
tnode
root=new tnode(arr[s]);
int i;
for(i=s;i<=e;i++){
if(arr[i]>root->data){
break;
}
}
root->left=buildtree(arr,s+1,i-1);
root->right=buildtree(arr,i,e);
return root;
}
tnodeFindmin(tnoderoot){
while(root->left!=NULL){
root=root->left;
}
return root;
}
tnode* Delete(tnoderoot,int data){
if(root==NULL){return NULL;}
else if(datadata){root->left=Delete(root->left,data);}
else if(data>root->data){root->right=Delete(root->right,data);}
else{
if(root->left==NULL && root->right==NULL){
delete root;
root==NULL;
}
else if(root->left==NULL){
tnode
temp=root;
root=root->right;
delete temp;
}
else if(root->right==NULL){
tnodetemp=root;
root=root->left;
delete temp;
}
else{
tnode
temp=Findmin(root->right);
root->data=temp->data;
root->right=Delete(root->right,temp->data);

	}
}
return root;

}
void preoder(tnoderoot){
if(root==NULL){return;}
cout<data<<" ";
preoder(root->left);
preoder(root->right);
}
int main() {
int t;
cin>>t;
while(t>0){
int n;
int arr[1000];
for(int i=0;i<n;i++){
cin>>arr[i];
}
tnode
root=buildtree(arr,0,n-1);
preoder(root);
int k;
cin>>k;
int d[1000];
for(int i=0;i<k;i++){
cin>>d[i];
}
for(int i=0;i<k;i++){
Delete(root,d[i]);
}
preoder(root);
cout<<endl;
t–;

}
return 0;

}
my code

hi @toshitvarshney11

instsead of pasting your code you can also paste it on


and send the link generated

you have not take n
that’s why your root is null and hence no output

you have to take n cin>>n;
after that it will give output

i hope this help
if you have more doubts regarding this feel free to ask
if your doubt is resolved mark it as resolved from your doubt section inside your course