program to find the second largest word in a paragraph
amongst all words that repeat more thn twice
Answers were Sorted based on User's Feedback
Answer / kiran kumar
Hi Pavani,
My name is Kiran.
Iam posting the code for ur Question.
The code is given below.
/* Program to find the second larges word in a paragraph
amongst all words that repeat more than twice */
# include <stdio.h>
# include <stdlib.h>
int main(void)
{
char para[80],*temp1=NULL,*temp=NULL,*first_high,*second_high;
unsigned int first_high_len,second_high_len;
printf("Enter the Paragraph\n");
fgets(para,80,stdin);
temp=strchr((const char*) para, (int)' ');
temp=para;
temp=strchr((const char*)para,(int)' '); /* Assuming
first word as the first highest
word
and storing word and the number of
letters of that word */
first_high_len=temp-para;
first_high=malloc(first_high_len+1);
strncpy(first_high, (const char*) para, first_high_len);
*(first_high+first_high_len)='\0';
temp1=strchr((const char*)temp+1,(int)' '); /* Assuming
second word as the second highest
word
and storing the word and the number of
letters of that word */
second_high_len=temp1-temp-1;
second_high=malloc(second_high_len+1);
strncpy(second_high, (const char*) temp+1, second_high_len);
*(second_high+second_high_len)='\0';
while(1)
{
temp1=strchr((const char*)temp+1,(int)' ');
if(temp1 == NULL)
break;
if(temp1-temp-1 > first_high_len)
{
free(second_high);
second_high=malloc(first_high_len+1);
second_high_len=first_high_len;
strncpy(second_high, (const char*) first_high,
second_high_len);
*(second_high+second_high_len)='\0';
free(first_high);
first_high=malloc(temp1-temp);
first_high_len=temp1-temp-1;
strncpy(first_high, (const char*) temp+1, first_high_len);
*(first_high+first_high_len)='\0';
}
else if(second_high_len < (temp1-temp-1) && first_high_len
!= (temp1-temp-1))
{
free(second_high);
second_high=malloc(temp1-temp);
second_high_len=temp1-temp-1;
strncpy(second_high, (const char*) temp1+1, second_high_len);
*(second_high+second_high_len)='\0';
}
temp=temp1;
}
if(strlen((const char*)temp+1) > first_high_len)
{
free(second_high);
second_high=first_high;
first_high=temp+1;
}
else if(strlen((const char*)temp+1) > second_high_len &&
strlen((const char*)temp+1) != first_high_len)
{
free(second_high);
second_high=temp+1;
}
printf("\nFirst Highest word = %s , Len =
%d",first_high,first_high_len);
printf("\nSecond Highest word = %s , Len = %d",second_high,
second_high_len);
return 0;
}
Check this code if u have any queries please be free
to ask any queries.
Email : kirjony@gmail.com
| Is This Answer Correct ? | 7 Yes | 2 No |
Answer / marimuthu
By simple
1.find length of each word
2.insert into binary search tree
3.recursively get the left most child of the right sub tree. finally you will get the second largest word.
via this logic you can smallest word,largest word.
is it have criticize?? mail me rainpearls.v@gmail.com
| Is This Answer Correct ? | 2 Yes | 1 No |
Answer / sai
lets write a paragraph in an array of strings a[i]
compare that array string
and if exists more than twice in that paragraph strcpy it
with other string b and the next one with string c
if strlen of b<c print b, else c
i got an idea but cant write code
if anyone tries n suceeds/finds fault mail me!
Email ID: smaransaisree@gmail.com
| Is This Answer Correct ? | 1 Yes | 1 No |
how to write a prog in c to convert decimal number into binary by using recursen function,
Explain the term printf() and scanf() used in c language?
what is the return type of printf
Explain in detail how strset (string handling function works )pls explain it with an example.
What is the benefit of using #define to declare a constant?
write a program to fined second smallest and largest element in a given series of elements (without sorting)
can v write main() { main(); } Is it true?
WHAT WILL BE OUTPUT OF BELOW CODE . . AND PLEASE EXPLAIN HOW IT COME .. #include<stdio.h> #include<conio.h> void main() { int k=20; printf("%d%d%d%d",k,k++,++k,k); getch(); }
How to implement call back functions ?
which of the following is not a character constant a) 'thank you' b) 'enter values of p, n ,r' c) '23.56E-o3' d) all of the above
Explain union. What are its advantages?
Magic square