Number of consonants
|
Light Poster
|
|
| 23May2011,22:58 | #1 |
|
Help me please! I want to make a program that displays the word with the maximum number of consonants from a sentence.
|
|
Mentor
|
![]() |
| 24May2011,12:07 | #2 |
|
How far have you got and where are you stuck?
Can you create a program as a start that just displays individual words? After that you can count the number of consonants in each word and store (a) the number if it's the largest so far and (b) the word itself. At the end just display the word that you stored before. Possible algorithm: count=0; word="" for each word consonant count > count? yes: assign count and word end for display word. |
|
Light Poster
|
|
| 24May2011,21:03 | #3 |
|
Here is a variant of my program, please help me find the mistake.
Code:
#include <stdio.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <iostream.h>
#include <string.h>
void main()
{char cons[21]={'b','c','d','f','g','h','j','k','l','m','n','p','q','r','s','t','v','w','x','y','z'};
char s[30],x[30][30],z[30]; int i,j=0,k=0,r,f,n,poz,c,max;
clrscr();
printf("Type sentence:");
gets(s);n=strlen(s);r=0;k=0;
for(i=0;i<n;i++){
if((s[i]!=' ')&&(s[i]!='.')){x[r][k]=s[i];k++;}
if((s[i]==' ')||(s[i]=='.')){x[r][k]='\0';r++;k=0;}}
for(i=0;i<r;i++)
for(j=0;j<strlen(x[i]);j++)
for(k=0;k<21;k++)
if(x[j]=cons[k]) {c++;}
z[i]=c;
max=z[0]; poz=0;
for(i=0;i<r;i++)
if(max<z[i])
{max=z[i];poz=i;}
puts(x[poz]);}
|
|
Mentor
|
![]() |
| 24May2011,21:13 | #4 |
|
I'm not surprised you can't debug that code; it's a horrendous mess. Use meaningful variable names, indent code correctly, and use code tags when posting here. You can identify code problems by adding printf statements to it that display intermediate results, for instance as I hinted you could try displaying words as you pull them out of the sentence, then display the consonant count and if it's greater than the previous greatest; these should all help you find the problems.
Why is it "a variant on your program" and not your program itself? Did you find this example online instead of writing it yourself? |
|
Mentor
|
![]() |
| 24May2011,21:19 | #5 |
|
Your if statement contains an assignment. You probably wanted to do a comparison.
|
|
Light Poster
|
|
| 24May2011,21:22 | #6 |
|
Of course I wroted myself, if I had found it on the internet it would be correct.
|
|
Light Poster
|
|
| 24May2011,21:28 | #7 |
|
Mentor
|
![]() |
| 24May2011,21:29 | #8 |
|
Light Poster
|
|
| 24May2011,21:33 | #9 |
|
Light Poster
|
|
| 24May2011,21:41 | #10 |
|
A little help please!
|


