954,504 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

HELP! what is the problem???

i'm a c++ beginner and now i got a question
i try many times but i stil can't solve it
so can anyboby here help me to solve?

here is my question:

Write a program that read in a sequence of characters in terms of sentences. Provide analysis of the input characters such as the number of characters of a, b and so on. Assume all characters are in lower case. Use a class concept in your program.

Sample outputs:

Enter your sentence: a program consists of a number of instructions separated by semicolon.

Analysis:
Character a: 5
Character b: 2
…..
character z: 0


this is my code:

#include<iostream>
using namespace std;

class analysis {
	char sentence[80];
	char str[80];
	int counter;
	int count;

public:
	void read();
	void compare();
	void display();
	void character();
};

void analysis::read()
{
	cout << " Enter your sentence: " ;
	cin.getline(sentence,80);

}

void analysis::character()
{
	str={'a','b','c','d','e','f','g','h','i','j','k','l','m','o','p','q','r','s','t','u','v','w','x','y','z','\0'};
}

void analysis::compare()
{
	for(int i=0; sentence[i]; i++)
	{
		for(int j=0; sentence[j]; j++)
		{
			if(strcmp(str,sentence)==0)
			count+=counter[j];
		}
	}
}

void analysis::display()
{
	cout << " ANALYSIS : " << endl;

	for(int m=0; m<strlen(sentence); m++)
		cout << " Character " << str[m] << " : " << counter[m] << endl;

}

void main()
{
	analysis word;

	word.read();
	word.character();
	word.compare();
	word.display();
}


if i want to try to use the ASCII code, how can i use it?

CPL85
Newbie Poster
2 posts since Jan 2006
Reputation Points: 10
Solved Threads: 0
 

first you need to declare an array of integers that represent the count for each characters -- since there are 26 letters in the English alphabet ('a' - 'z]) you will need an array of 26 integers.

int counters[26] = {0};


The abover declared the array and initialized them all to 0.
Next step, after entering the sentence, increment the counters array for each character in the sentence. Loop through the sentence and increment the array element that corresponds to the character. To get the index value, subtract the letter 'a' from the character. Example: if sentence[i] == 'a', then 'a' - 'a' == 0. You could look up the ascii value for 'a' and use that, but its a lot easier just to use 'a'.

char sentence[80];
for(int i = 0; sentence[i] != 0; i++)
   counter[sentence[i]-'a']++;

you should be able to finish the rest of the program yourself.

Ancient Dragon
Retired & Loving It
Team Colleague
30,049 posts since Aug 2005
Reputation Points: 5,662
Solved Threads: 2,343
 

now i understand more
thanks a lot!

CPL85
Newbie Poster
2 posts since Jan 2006
Reputation Points: 10
Solved Threads: 0
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You