2 test cases not working

Please help.
code:

#include
using namespace std;
int main()
{
long long int n;
int p = 1, a[1000];
cin >> n;
while (n != 0)
{
if ((n % 10) >= 5)
{
a[p - 1] = 9 - n % 10;
}
else
{
a[p - 1] = n % 10;
}
p++;
n /= 10;
}
bool success = false;
int index_zeroes = p - 2;
while (!success)
{
if (a[index_zeroes] == 0)
{
p–;
}
else
success = true;
index_zeroes–;
}
if (p == 1)
{
cout << “0”;
}
for (int i = p - 2; i >= 0; --i)
{
cout << a[i];
}

return 0;

}

May be we dont need to change first 9 to zero i think .please help