Find Maximum Occurrence of Character in a String in C



An array of characters is called a string.

Declaration

Following is the declaration declaring an array is as follows ?

char stringname [size];

For example: char string[50]; string of length 50 characters

Initialization

  • Using single character constant ?
char string[10] = { ?H', ?e', ?l', ?l', ?o' ,?\0'}
  • Using string constants ?
char string[10] = "Hello":;

Accessing ? There is a control string "%s" used for accessing the string till it encounters ?\0'.

Finding maximum occurrence

The logic to find the maximum occurrence of character is ?

  • First, find frequency of characters, by using the following program.
while(string[i] != '\0'){
  value = (int)string[i];
  frequency[value] += 1;
  i++;
}
  • Based on this, we are finding maximum occurrence character.
maximum = 0;
for(i=0; i<CHARS; i++){
  if(frequency[i] > frequency[maximum])
    maximum = i;
}

Example

Given below is the C program to find max occurring character in a string ?

#include <stdio.h>

#define SIZE 100 // Maximum string size
#define CHARS 255 // Maximum characters allowed

int main() {
  char string[SIZE];
  int frequency[CHARS];
  int i = 0, maximum;
  int value;
  
  printf("Enter the string:
"); gets(string); for (i = 0; i < CHARS; i++) { frequency[i] = 0; // initialize freq of all characters to zero } /* Finds frequency of each characters */ i = 0; while (string[i] != '\0') { value = (int) string[i]; frequency[value] += 1; i++; } /* Finds maximum frequency */ maximum = 0; for (i = 0; i < CHARS; i++) { if (frequency[i] > frequency[maximum]) maximum = i; } printf("Maximum occurrence character is '%c' = %d times.", maximum, frequency[maximum]); return 0; }

Output

When the above program is executed, it produces the following result ?

Enter the string:
tutorials point
Maximum occurrence character is 't' = 3 times.
Updated on: 2024-12-06T02:01:55+05:30

3K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements