String manipulation Problem

katkat21's Avatar, Join Date: Aug 2009
Newbie Member
can someone solve my problem

if the string is college
the output must be
c=1
o=1
l=2
e=2
g=1

it counts that how many a letter does it used
thnk you ^^
0
xpi0t0s's Avatar, Join Date: Aug 2004
Mentor
I'd probably use an array of 26 ints initialised to zero, then for each letter encountered increment the relevant element. Pseudocode:
Code:
int arr[26] initialise to zero
char *str="college"
for each character c in str
  arr[str[c]-'a']++
end for
for each element e of arr
  if non-zero
    print the letter (e+'a') and the count
  end if
end for
arr[str[c]-'a']++ is the clever bit: str[c] is a char between 'a' and 'z', and subtracting 'a' from that gives us a number from 0-25 which we use as the index into the array. It may be a good idea to add some limits checking to this, for example if (str[c]>='a' && str[c]<='z') so that you don't accidentally increment something not in the array.