String string compression doubt it is showing two failed test cases

#include

#include

using namespace std;

int main(){

char a[100];

cin>>a;

int count=0;

char ch=a[0];

int i=0;

while(a[i]!='\0'){

    if(ch==a[i]){

        count++;

}

  else {

      if(count>1){

      cout<<ch<<count;

      ch=a[i];

      count=1;

  }

  else if(count==1){

      cout<<ch;

      ch=a[i];

      count=1;

  }

       }

i++;

}

cout<<ch;

return 0;

}