Description
To print occurrence of words in sentence
take a variable count and traverse the sentence and if a word occure
again increment the count.
Example: Input : this is java and java is good
Output: this 1
is 2
java 2
and 1
good 1
C/C++
/* C program to count number of occurance of every words in sentence*/
//Save it as PrintOccurenceOfWordsSentence.c
#include<stdio.h>
int main(){
int i, j=0, k=0;
char str[100];
char newStr[10][20];
printf("Enter a string : ");
scanf("%[^\n]s", str);
//Traversing the string
for(i=0;str[i]!='\0';i++){
//checking for space
if(str[i]==' '){
newStr[k][j]='\0';
k++;
j=0;
}else{
newStr[k][j]=str[i];
j++;
}
}
newStr[k][j]='\0';
for(i=0;i<=k;i++){
int countval=0;
for(j=0;j<=k;j++){
//Storing the string value into temporary variable
char *temp1 = newStr[i];
char *temp2 = newStr[j];
/*if second loop encounter same value again but j<i break the loop to
avoid printing of duplicate value*/
if(j<i && (strcmp(temp1,temp2) == 0)) {
break;
}
//if second loop encounter same value increase the value of count
if(strcmp(temp1,temp2)==0) {
countval++;
}
/*While traversing the array, if loop reached to last print the
string with its number of count*/
if(j==k) {
printf("%s %d\n",newStr[i],countval);
}
}
}
return 0;
}
Input: Enter a string : this is java and java is good Output: this 1 is 2 java 2 and 1 good 1
Java
/* Java program to count number of occurance of every words in sentence*/
//Save it as PrintOccurenceOfWordsSentence.java
import java.io.*;
import java.util.Scanner;
public class PrintOccurenceOfWordsSentence {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter a string : ");
String str = scanner.nextLine();
//Splitting the string by space and storing into string array
String strArray[] = str.split(" ");
for(int i=0;i<strArray.length;i++) {
int count=0;
for(int j=0;j<strArray.length;j++) {
//Storing the string value into temporary variable
String temp1 = strArray[i];
String temp2 = strArray[j];
/*if second loop encounter same value again but j<i break the loop to
avoid printing of duplicate value*/
if(j<i && temp1.equals(temp2)) {
break;
}
//if second loop encounter same value increase the value of count
if(temp1.equals(temp2)) {
count++;
}
/*While traversing the array, if loop reached to last print the
string with its number of count*/
if(j==strArray.length-1) {
System.out.println(strArray[i]+" "+count);
}
}
}
}
}
Input: Enter a string : this is java and java is good Output: this 1 is 2 java 2 and 1 good 1
Related Programs
1) Count Number of Words in a String2) Print All Unique Words Of A String
3) Program To Print Unique Word Of A String Using Set
4) Program to Replace Spaces With Dots
5) Program to copy string
6) Program to Compare Two Strings
7) Program to Reverse a String
8) Find Substring of a Given String
9) Program to Insert a String into Another String
10) How to find Length or Size of a String
11) Program to sort characters of strings in alphabetical order
12) Program to Sort set of strings in alphabetical order