C++ How To Program Plus Mylab Programming With Pearson Etext -- Access Card Package (10th Edition)
bartleby

Concept explainers

Question
Book Icon
Chapter 22, Problem 22.41E
Program Plan Intro

22.41E a) Program Description:

The program declares an array of characters and integer to store the alphabets and corresponding counts initialized to 0;
It takes multi line inputs from the user and stores those into a vector<string>. Iteration over the vector elements, character by character, incrementing the counts as characters are encountered.

22.41E a) Program

/*  * 22_41a_charactercount.cpp string handling and total alphabet counts table
 */
#include<string>
#include<iostream>
#include<cstring>
#include<vector>
usingnamespace std;

intmain() {
	char alphaBets[] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T','U', 'V', 'W', 'X', 'Y', 'Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
	int counts[]={ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0};


	vector<string> input;
string str, strInput;
//take input from user
    cout<<"Please enter any text. Enter ZZZ to finish typing:\n\n";

getline(cin, str);
while ( str!= "ZZZ") {
	input.push_back(str);
	getline(cin, str);
    }

//process the input string
for (constauto& em: input){
	strInput = em;
	for(int i=0; i < strInput.length();i++){
		char test = strInput.at(i);
			for(int j=0;j <sizeof(alphaBets); j++){

				if( test == alphaBets[j]){
					counts[j]+=1;

				}
			}
	}
    }
    cout<<"The Alphabets counts in the supplied text are as below :\n\n\n";

for(int n=0;n <sizeof(alphaBets); n++){
	cout<<"Count of "<<alphaBets[n]<<"  = "<<counts[n]<<endl;
    }

return 0;
}//end main

22.41E a) Sample Output

Sample Output 22.41 a)

Please enter any text. Enter ZZZ to finish typing:

This is another test, of a justification program
for 65 chars long, with so many inputs and ! and commas,
Therefore, I have to admit this is just
a very basic program which does nothing but keeps testing
the input provided for length and applies justification logic
to the right & left parts of 65th position.
There can be many possible improvements
to this very very basic program. Thanks !
ZZZ

The Alphabets counts in the supplied text are as below :

Count of A = 0
Count of B = 0
Count of C = 0
Count of D = 0
Count of E = 0
Count of F = 0
Count of G = 0
Count of H = 0
Count of I = 1
Count of J = 0
Count of K = 0
Count of L = 0
Count of M = 0
Count of N = 0
Count of O = 0
Count of P = 0
Count of Q = 0
Count of R = 0
Count of S = 0
Count of T = 3
Count of U = 0
Count of V = 0
Count of W = 0
Count of X = 0
Count of Y = 0
Count of Z = 0
Count of a = 23
Count of b = 5
Count of c = 9
Count of d = 7
Count of e = 26
Count of f = 8
Count of g = 9
Count of h = 18
Count of i = 28
Count of j = 3
Count of k = 2
Count of l = 6
Count of m = 10
Count of n = 19
Count of o = 25
Count of p = 13
Count of q = 0
Count of r = 22
Count of s = 25
Count of t = 31
Count of u = 7
Count of v = 7
Count of w = 2
Count of x = 0
Count of y = 6
Count of z = 0

22.41E b) Program Description

The program stores lines of text input into a vector<string> and then iterates over each element, tokenizing strings into words using strtok and keeps a count of the words in an array which is finally printed out. The max word length assumed is 45 as that's the longest word in English dictionary (pneumonoultramicroscopicsilicovolcanoconiosis ).

22.41E b) Program

/*  * 22_41b_wordslengthcpp string handling and total words & their length counts table
 */
#include<string>
#include<iostream>
#include<cstring>
#include<vector>
usingnamespace std;

intmain() {

	//Assume the maximum word length = 45 ( as per modern dictionary
	//keep counts lengthwise , index 0 for  length one char
	int counts[45]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};


	vector input;
string str, strInput;
//take input from user
    cout<<"Please enter any text. Enter ZZZ to finish typing:\n\n";

getline(cin, str);
while ( str!= "ZZZ") {
	input.push_back(str);
	getline(cin, str);
    }

	constchar space[2]= " ";

//process the input string
for (constauto& em: input){
	char * temp = newchar[em.length() + 1];
	strcpy(temp, em.c_str());

	char * word = strtok(temp, space);
	while(word != 0){
			int wordLen = strlen(word);
				if(	wordLen >0)
				 counts[wordLen-1]+=1;
		word =strtok(NULL, space);
	}
    }
    cout<<"The Words Length and their counts in the supplied text are as below :\n\n"
<<"\tWord Length\t\t\t\t"<<"Total count\n"
	<<"\t------------\t\t\t\t------------\n"<<endl;

for(intn=0;n< 45; n++){
    cout<<"\t "<<n+1<<"\t\t\t\t "<<counts[n]<<endl;
    }

return 0;
}//end main

22.41E b) Sample Output

pneumonoultramicroscopicsilicovolcanokoniosis is a disease caused by exposure to volcanic silica, also termed as silicosis.
ZZZ

The Words Length and their counts in the supplied text are as below :

Word Length Total count
------------ ------------

1    2
2  4
3  0
4  1
5  0
6  3
7  1
8  2
9  1
10  0
11  0
12  0
13  0
14  0
15  0
16  0
17  0
18  0
19  0
20  0
21  0
22  0
23  0
24  0
25  0
26  0
27  0
28  0
29  0
30  0
31  0
32  0
33  0
34  0
35  0
36  0
37  0
38  0
39  0
40  0
41  0
42  0
43  0
44  0
45  1

22.41E c) Program Description

The program will use map to keep words uniquely with their respective counts and a vector<string> to keep the words in the order they are encountered.
Finally, using the vector, all words will be iterated and their respective counts will be fetched from the map.

Explanation:

22.41E c)Program

/* * 22_41c_wordscount.cpp string handling and unique words & their length counts table
 */
#include<string>
#include<iostream>
#include<cstring>
#include<vector>
#include<map>
#include<algorithm>// to convert whole string to uppercase or lowercase using STL.
usingnamespace std;

intmain() {

	map

22.41E c) Sample Output

Please enter any text. Enter ZZZ to finish typing:

To be or not To be is an old proverb yet interests many in the modern world
To understand this better a course in modern literature has to be pursued and that too in a deep sense
ZZZ

The unique Words and their counts in the supplied text are as below :

		Word 				Total count
	--------------------				------------
	
	 to						4
	 be						3
	 or						1
	 not						1
	 is						1
	 an						1
	 old						1
	 proverb					1
	 yet						1
	 interests					1
	 many						1
	 in						3
	 the						1
	 modern						2
	 world						1
	 understand					1
	 this						1
	 better						1
	 a						2
	 course						1
	 litratire					1
	 has						1
	 pursued					1
	 and						1
	 that						1
	 too						1
	 deep						1
	 sense						1

Blurred answer
Students have asked these similar questions
lab assignment 1.13 LAB: Introduction to Cyptography (classes/constructors) Cryptography is the practice of encryption. Information Security uses cryptography techniques to encrypt and decrypt data. A simple encryption method might take plaintext and mix up the letters using some predetermined pattern and then use that pattern to decrypt the data for reading. Ciphers are the algorithms used to put the data into its secret pattern and then systematically decrypt it for reading. This script is going to use a famous simple cipher called the Caesar Cipher. It is a substitution cipher where each letter in the text is 'shifted' in a certain number of places. It uses the alphabet as the primary pattern and then based on the shift number, it would shift all the letters and replace the alphabet with our pattern. For example, if our shift number was 3, then A would be replaced with D, if we performed a right shift. As an example: Text = "THE CAT IS VISIBLE AT MIDNIGHT" Ciphertext = "WKH FDW LV…
Vocabulary Task (C language) Solution given below. How to fix the error in the picture attached. txt file is not being created from this code please also include how to create a txt file and where will it be saved in the computer Natural language processing (NLP) is a field of artificial intelligence that seeks to develop the ability of a computer program to understand human language. Usually, the first step of an NLP system is to convert words into numeric codes. Thus, the system converts an input text into a sequence of numeric codes before any high-level analysis. This process is known as text preprocessing. We can only perform text preprocessing if we have a vocabulary of words and their associated numeric codes. Your task is to create a vocabulary of unique words for a given text file and assign a different number from 1 to N to each unique word, with N being the total number of unique words. You must perform this assignment so that the first word in alphabetical order gets the…
PleasehelpASAP - 30mins left :( C program   5. 10-in-1 Troy who is in his 1st grade and is having a hard time learning how to count numbers from 0 – 50. He asked his brother Gabriel to teach him how to count, but he requested to do teach it 10 numbers per line. His brother don't know how to teach his brother so he looking for a friend who can help him. Can you help Gabriel to do a program that can teach Troy to count numbers by printing it 10 numbers per line? If the numbers exceed or is equal to 50, the output should display "Number must be below 50!". Input 1. Size of Numbers Description The size of the numbers. Constraints The value is guaranteed to be a positive integer. Sample 17 Output The first line will contain a message prompt to input the size. The succeeding lines will contain the numbers or the message required if the number is greater than 50. Enter·size:·17 0·1·2·3·4·5·6·7·8·9 10·11·12·13·14·15·16

Chapter 22 Solutions

C++ How To Program Plus Mylab Programming With Pearson Etext -- Access Card Package (10th Edition)

Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr