Rumpl
int mode(char *str, int n, char *c)
{
static int max = 0;
static int maxcur = 1;
if(!str[n])
return(max);
if(str[n] == str[n+1])
maxcur++;
if(str[n] != str[n+1] && max < maxcur)
{
max = maxcur;
maxcur = 1;
*(c) = str[n];
}
return(mode(str, n+1, c));
}
int main()
{
int i;
char *str;
char a;
str = "aabbbc";
i = mode(str, 0, &a);
printf("%d %c\n", i, a);
return(0);
}
--------------------------------------------------------------------------------
alexscott
int mode(char *str, int n, char *pmax)
{
static int max = 0;
static int cur = 1;
if(!n)
*pmax = (( *str ) ? *str : 0);
if( (! *(str+(n++))) || (! *(str+1)) )
return((!max && *str) ? 1 : max);
if(max < (cur = ( *(str+n-1) == *(str+n) ) ? cur+1 : 1))
{
max = cur;
*pmax = *(str+n);
}
return(mode(str, n, pmax));
}
int main(int argc, char **argv)
{
char c;
printf("%d %c\n", mode(((argc-1) ? argv[1] : ""), 0, &c), c);
return(0);
}
Evo dva resenja na vas zadtak, malko smo se zekili, primeticete da je jedan kod razunljiviji od drugog...
Pozdrav, saljite nam jos zanimljivih zadatcica
"The problem with the world is that everyone is a few drinks behind."
-Humphrey Bogart