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..

Answer Posted / 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       View All Answers


Please Help Members By Posting Answers For Below Questions

What is the acronym for ansi?

996


Is return a keyword in c?

1028


What is an lvalue?

1013


Why are some ANSI/ISO Standard library routines showing up as undefined, even though I've got an ANSI compiler?

1074


What is a union?

977


What is the purpose of the statement: strcat (S2, S1)?

1059


Who invented b language?

1336


You have given 2 array. You need to find whether they will create the same BST or not. For example: Array1:10 5 20 15 30 Array2:10 20 15 30 5 Result: True Array1:10 5 20 15 30 Array2:10 15 20 30 5 Result: False One Approach is Pretty Clear by creating BST O(nlogn) then checking two tree for identical O(N) overall O(nlogn) ..we need there exist O(N) Time & O(1) Space also without extra space .Algorithm ?? DevoCoder guest Posted 3 months ago # #define true 1 #define false 0 int check(int a1[],int a2[],int n1,int n2) { int i; //n1 size of array a1[] and n2 size of a2[] if(n1!=n2) return false; //n1 and n2 must be same for(i=0;ia1[i+1]) && (a2[i]>a2[i+1]) ) ) return false; } return true;//assumed that each array doesn't contain duplicate elements in themshelves }

3126


How can a string be converted to a number?

962


What is the difference between test design and test case design?

2025


How do you print only part of a string?

963


What does printf does?

1189


Write a program of advanced Fibonacci series.

1091


What are void pointers in c?

959


Write a program to produce the following output: 1 2 3 4 5 6 7 8 9 10

15722