Powie mi ktos dlaczego wywala mi ten program
#include <iostream>
using namespace std;
int licznik (char kolor[],int i,int a,int &liczba);
int licznikb(char kolor[],int i,int a,int &liczba);
int main()
{
int liczbaa=0,liczbab=0,liczbac=0;
int pola=0;
int liczba=0;
cin>>pola;
int p;
int a,b,c;
cin>>a>>b>>c;
char kolor[pola+1];
for(int i=0;i<pola;i++)
{
cin>>kolor[i];
}
for(int i=0;i<pola;i++)
{
if(kolor[i]=='b'||'B')
{
if( kolor[i+a]=='b'||'B')
{
licznik(kolor,i,a,liczbaa);
}
if ( kolor[i+b]=='b'||'B')
{
licznik(kolor,i,a,liczbab);
}
if ( kolor[i+c]=='b'||'B')
{
licznik(kolor,i,a,liczbac);
}
}
if(kolor[i]=='c'||'C')
{
if( kolor[i+a]=='c'||'C')
{
licznikb(kolor,i,a,liczbaa);
}
if ( kolor[i+b]=='c'||'C')
{
licznikb(kolor,i,a,liczbab);
}
if ( kolor[i+c]=='c'||'C')
{
licznikb(kolor,i,a,liczbac);
}
}
}
if(liczbaa>liczbab&&liczbaa>liczbac)
{
liczba=liczbaa;
}
if(liczbab>liczbaa&&liczbab>liczbac)
{
liczba=liczbab;
}
if(liczbac>liczbab&&liczbac>liczbaa)
{
liczba=liczbac;
}
cout<<liczba;
return 0;
}
int licznik(char kolor[],int i,int a,int &liczba)
{
if(kolor[i+a]=='b'||'B')
{
liczba++;
licznik(kolor, i, a, liczba);
}
else if(kolor[i+a]!='b'||'B')
return liczba;
}
int licznikb(char kolor[],int i,int a,int &liczba)
{
if(kolor[i+a]=='c'||'C')
{
liczba++;
licznikb(kolor, i, a, liczba);
}
else if(kolor[i+a]!='c'||'C')
return liczba;
}