An unknown error is showing

The error is prog.cpp:32:1: error: expected declaration before ‘}’ token
}
^

#include <iostream>
using namespace std;
int Merge(int A[], int from,int middle,int to)
{
    int lengthleft= middle- from+1;
    int lengthright= to-middle;
    int *left= new int(lengthleft+1);
    int *right=new int(lengthright+1);
    for(int i=0; i<lengthleft; ++i){
        left[i]=A[from+i];
    }
    for(int j=0; j<lengthright; ++j){
        right[j]=A[middle+j+1];
    }
    int leftpionter=0;
    int rightpionter=0;
    int z;
    for( z=lengthleft; z<=lengthright; ++z)
    {
        if(left[leftpionter]<right[rightpionter])
          A[z]=left[leftpionter];
          ++leftpionter;
        }
         if(left[leftpionter]>right[rightpionter])
         {
             
         A[z]=right[rightpionter];
         ++rightpionter;
         }
    }
    
}

int Mergesort(int arr[], int from,int to){
    int middle = (from+to)/2;
    Mergesort(arr,from,middle);
    Mergesort(arr,middle+1,to);
    Merge(arr,from,middle,to);
}
int main(){
    int ar[20];
    int n;
    cin>>n;
    if(int i=0; i<n; ++i){
        cin>>ar[i];
    }
    Mergesort(ar,0,n-1);
    
}

Format your code and what is the error?

2 Likes

Please format your code by using ``` (three back ticks) before and after code.

1 Like

Thanks i edited the question u can check it out

It is an straight forward error. You should be able to debug this.

Error
if(left[leftpionter]<right[rightpionter])
          A[z]=left[leftpionter];
          ++leftpionter;
        }
2 Likes