Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...


Write a program to print distinct words in an input
along with their count in input in decreasing order of their
count..



Write a program to print distinct words in an input along with their count in input in decreasing o..

Answer / gururaj l j

Solution

/* This Program counts the distinct words in the input
string preceded each word by its count */


#include <stdio.h>
#include <string.h>

void DistinctWords(char s[ ]);


void main()
{
char s[100];

printf("Enter the String ");
gets(s);

if(strlen(s) <= 0)
printf("Please provide the input
string\n");
else
DistinctWords(s);
}

/* Purpose: This function counts the distinct words in the
input string preceded each word by its count
Input : String
Output : distinct words with its count
*/

void DistinctWords(char s[])
{
char words[50][50];
char distinct[50];
int i, j, l, k = 0, start, end, f = 1, m = 0, n =
0;
int count;
int countindex[20],cindex = 0;


for(l = 0,i = 0; s[i] != ' '; i++, l++)
words[k][i] = s[i];

words[k][i] = '\0';
k++;
start = i+1;


for(i = i+1; s[i]; i++)
{
if(s[i] == ' ')
{
end = i-1;
f = i+1;

for(j = 0, l = start; l <= end;
l++, j++)
words[k][j] = s[l];


words[k][j] = '\0';

k++;
start = i+1;
}
}


for(l = f, i = 0; s[l]; i++, l++)
words[k][i] = s[l];

words[k][i] = '\0';


for(i = 0;i <= k; i++)
{
count = 0;

for(j = i; j <= k; j++)
{
if((stricmp(words[i], words[j])) == 0)

count++;
}

f = 1;

for(j = 0; j < i; j++)
{
if(strcmp(words[i], words[j]) == 0)
{
f = 0;
break;
}
}


if(f == 1)
printf("\n\t%s Occur %d Times\n", words[i],
count);
}
}

Is This Answer Correct ?    18 Yes 7 No

Post New Answer

More C Interview Questions

What is array of pointers to string?

0 Answers  


What's a "sequence point"?

3 Answers  


What is logical error?

0 Answers  


Do you know the use of fflush() function?

0 Answers  


Explain how do you list a file’s date and time?

0 Answers  


two progs are given. one starts counting frm 0 to MAX and the other stars frm MAX to 0. which one executes fast.

5 Answers   Verifone,


15.what is the disadvantage of using macros? 16.what is the self-referential structure? 17.can a union be self-referenced? 18.What is a pointer? 19.What is the Lvalue and Rvalue? 20.what is the difference between these initializations? 21.Char a[]=”string”; 22.Char *p=”literal”; 23.Does *p++ increment p, or what it points to?

1 Answers  


Explain what is the heap?

0 Answers  


what is call by value and call by reference

4 Answers  


suppose there are five integers write a program to find larger among them without using if- else

2 Answers  


What is the difference between mpi and openmp?

0 Answers  


In a switch statement, explain what will happen if a break statement is omitted?

0 Answers  


Categories