## Matlab

Moderators: None (Apply to moderate this forum)
Number of threads: 1494
Number of posts: 2174

This Forum Only

problem in sorting&counting Posted by turbo pascal on 30 May 2003 at 12:02 PM
Hi, I have a program that should read a line of text and output the number of words in the line and the number of occurrences of each letter. the output of the letters must be in alphabetical order counting both upper and lowercase versions .(ex input: Hello Hi. And the output: there are 2 words
1 e
2 h
1 i
2 l
1 o

I've done the first part but I couldn't solve the second part. first, I changed all the uppercase to lowercase.then,I found this sort but I have the spaces and other punctuations showing with it..
do
{
finish = 0;
for ( i = 0; i < x - 1; i++) // sorting the string..
{
if (s[i] > s[i + 1])
{
hold = s[i];
s[i] = s[i + 1];
s[i + 1] = hold;

finish = 1;
}
}
}while (finish != 0) ;

* so I decided to delete everything that is not a letter but it didn't work&#8230;

for (i=0; i<size; i++) // string contains only letters..
if (isalpha(s[i]))
temp[i]=s[i] ;
* and I thought of another way that it didn't work..

for (i=0; i<size; i++) // string contains only letters..
if (!isalpha(s[i]))
s[i]=s[i+1] ;

* finally I decided to do the counting any way, but I have the occurrences of each letter repeated as many times as it occurred, as well as ,counting punctuations.

for ( i=0;i<x;i++) //counting the occurrences of each letter..
{ for(j=0;j<x;j++)
{
if (s[i]==s[j])
a++ ;
}
cout << s[i] << " occured : " <<a << endl;
a=0;
}
cout << endl;
return 0;
}

Re: problem in sorting&counting Posted by Tremere on 10 Jun 2003 at 3:26 AM
I think you'll find it much easier to check for alphabetical order with their corresponding ascii number instead. As for the list of numbers, I don't remember what they were, but it shouldn't be too hard to search for it on the web.

: Hi, I have a program that should read a line of text and output the number of words in the line and the number of occurrences of each letter. the output of the letters must be in alphabetical order counting both upper and lowercase versions .(ex input: Hello Hi. And the output: there are 2 words
: 1 e
: 2 h
: 1 i
: 2 l
: 1 o
:
: I've done the first part but I couldn't solve the second part. first, I changed all the uppercase to lowercase.then,I found this sort but I have the spaces and other punctuations showing with it..
: do
: {
: finish = 0;
: for ( i = 0; i < x - 1; i++) // sorting the string..
: {
: if (s[i] > s[i + 1])
: {
: hold = s[i];
: s[i] = s[i + 1];
: s[i + 1] = hold;
:
: finish = 1;
: }
: }
: }while (finish != 0) ;
:
: * so I decided to delete everything that is not a letter but it didn't work&#8230;
:
: for (i=0; i<size; i++) // string contains only letters..
: if (isalpha(s[i]))
: temp[i]=s[i] ;
: * and I thought of another way that it didn't work..
:
: for (i=0; i<size; i++) // string contains only letters..
: if (!isalpha(s[i]))
: s[i]=s[i+1] ;
:
: * finally I decided to do the counting any way, but I have the occurrences of each letter repeated as many times as it occurred, as well as ,counting punctuations.
:
: for ( i=0;i<x;i++) //counting the occurrences of each letter..
: { for(j=0;j<x;j++)
: {
: if (s[i]==s[j])
: a++ ;
: }
: cout << s[i] << " occured : " <<a << endl;
: a=0;
: }
: cout << endl;
: return 0;
: }
:
:
:
:
:
:
:

## Recent Jobs

Official Programmer's Heaven Blogs
Web Hosting | Browser and Social Games | Gadgets

Popular resources on Programmersheaven.com
Assembly | Basic | C | C# | C++ | Delphi | Flash | Java | JavaScript | Pascal | Perl | PHP | Python | Ruby | Visual Basic
© Copyright 2011 Programmersheaven.com - All rights reserved.
Reproduction in whole or in part, in any form or medium without express written permission is prohibited.
Violators of this policy may be subject to legal action. Please read our Terms Of Use and Privacy Statement for more information.
Operated by CommunityHeaven, a BootstrapLabs company.