Write a program to print distinct words in an input
along with their count in input in decreasing order of their
count..
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 |
printf(), scanf() these are a) library functions b) userdefined functions c) system functions d) they are not functions
Explain how can you be sure that a program follows the ansi c standard?
what is the most appropriate way to write a multi-statement macro?
Give the Output : * * * * * * * * * *
what is structuer?
what is the Output? int a=4 b=3; printf("%d%d%d%d%d%d",a++,++a,a++,a++,++a,a++); printf("%d%d%d%d%d%d",b--,b--,--b,b--,--b,--b);
can we declare a function in side the structure?
A banker has a seif with a cipher. Not to forget the cipher, he wants to write it coded as following: each digit to be replaced with the difference of 9 with the current digit. The banker chose a cipher. Decipher it knowing the cipher starts with a digit different than 9. I need to write a program that takes the cipher from the keyboard and prints the new cipher. I thought of the following: Take the input from the keyboard and put it into a string or an array. Go through the object with a for and for each digit other than the first, substract it from 9 and add it to another variable. Print the new variable. Theoretically I thought of it but I don't know much C. Could you give me any kind of hint, whether I am on the right track or not?
write a program to generate address labels using structures?
Given an array of length N containing integers between 1 and N, determine if it contains any duplicates.
How to implement a packet in C
What is the meaning When we write "#include" what is # and what does include does there???