String compression problem

The code didn’t pass 2 test cases.
#include<bits/stdc++.h>
using namespace std;
int main() {
string a;
cin>>a;
int b[26]={0};
for(int i=0;i<a.size();i++)
b[a[i]-‘a’]++;
for(int i=0;i<a.size():wink:
{
cout<<a[i];
cout<<b[a[i]-‘a’];
i+=b[a[i]-‘a’];
}
return 0;
}

@jha.aparna17 you have to compress only consecutive similar characters for ex:
if input string is abbaa then output should be a1b2a2 not a3b2

#include<bits/stdc++.h> using namespace std; int main() { string a; cin>>a; for(int i=0;i<a.size()-1;i++) { int c=1; cout<<a[i]; while(a[i]==a[i+1]) { c++; i++; } cout<<c; } return 0; }

still only 2 test cases have been passed

send me your code by saving it in https://ide.codingblocks.com/