why am i getting wrong in the problem? each time it's saing wrong output .i have tried with all the inputs of my thoughts. problem== Home » Practice(Beginner) » Fibonacci String

//also i have checked by breaking the whole program in different funtions.
#include<stdio.h>
#include<stdlib.h>
void fun();
int i,j,k;
char el;

int main()

{
int t;

scanf("%d",&t);// taking the number of inputs

el=getchar();//fflush is not working .. to absorb the /n of previous scanf ..else it's making 

the program to malfunction

for(;t>0;t–)

fun(); //calling the fun to get the job done 

return 0 ;

}

void fun()

{

int i=0,j=0,k=0;

 int fre[24]={0}; // array to store the frequency of elements 

 int temp;
char ele[24]={0}; // array to store the elements 

while(el=getchar())
{
	if(!(el>=97&&el<=122))
	break;                       //there may some problem in this condition
	for(j=0;j<k;j++) //checking for match in the array 
	{
		if(el==ele[j])// if match found then only incrementing the count
		{
			fre[j]+=1;
			break;
		}
	}
	if(j==k)// if match does not found then including the elemetn in ele[] and making corresponding count  
	{
		ele[k]=el;
		fre[k]=1;
		k++;
	}
}
for(i=0;i<(k-1);i++) // sorting the array of count to get applied the fib logic 
{
	for(j=(i+1);j<k;j++)
	{
		if(fre[i]<fre[j])
		{
			temp=fre[i];
			fre[i]=fre[j];
			fre[j]=temp;
		}
	}
}
if(k<3)
printf("Dynamic\n");
else
{
for(i=0;i<(k-2);i++)    // checking the condition 
{
	if(!(fre[i]==fre[i+1]+fre[i+2])) / if match failed the printing not 
	{
		printf("Not\n");
		break;
	}
}
if(i==(k-2)) // if the aforsaid loop executed totally then the string is dynamic   
printf("Dynamic\n");
}

}