Can't figure out my mistake

I saw the hint video also, but can’t seem to figure out where I am going wrong.
Following is my code:

#include
#include
using namespace std;

int main()
{
int n;
cin>>n;
int arr[1000];
for (int i=0;i<n;i++)
{
cin>>arr[i];
}
int num;
cin>>num;
sort(arr,arr+n);
int i=0;
int j=n-1;
while(j>i)
{
int sum = arr[i] + arr[j];
if (sum == num)
{
cout<<arr[i]<<" and "<<arr[j]<<endl;
}
else if (sum>num)
{
j = j-1;
}
else if (sum < num)
{
i = i+1;
}
}
return 0;
}

hello @nikunjj44 i would like to help you in the better way.
could you please share your code by sharing it on ide.codingblocks.com

#include

#include

using namespace std;

int main()

{

int n;

cin>>n;

int arr[1000];

for (int i=0;i<n;i++)

{

    cin>>arr[i];

}

int num;

cin>>num;

sort(arr,arr+n);

int i=0;

int j=n-1;

while(j>i)

{

    int sum = arr[i] + arr[j];

    if (sum == num)

    {

        cout<<arr[i]<<" and "<<arr[j]<<endl;

    }

    else if (sum>num)

    {

        j = j-1;

    }

    else if (sum < num)

    {

        i = i+1;

    }

}

return 0;

}

hello @nikunjj44


i have corrected your code and commented the mistakes .

if you feel your doubt is cleared please mark this doubt as resolved .
Happy Learning !!