Write a C++ program that asks the user to enter a number n followed by n words. These words will be stored in an array. The program will read the content of the array and make the following changes:
‐ The words that have 4 characters or less will be changed by the word invalid
‐ The words that have 5 characters or more will be transformed as follows: The first and the last characters will remain the same. However, the other characters will be transformed into stars(*) The program will display at the end the new content of the array as well the percentage of words that have been changed into the word invalid.
1
Expert's answer
2012-04-13T08:09:34-0400
#include <iostream> using namespace std;
int main() { int n; float invalid = 0; cout<<"Enter number of words: "; cin>>n; string *words = new string[n]; cout<<"Enter words:\n"; for (int i=0; i<n; i++) { & cin>>words[i]; & if (words[i].length() <= 4) & { words[i] = "invalid"; invalid++; & } & else for (int j=1;j<words[i].length()-1;j++) { words[i][j] = '*'; } } cout<<"\nChanged words:\n"; for (int i=0;i<n;i++) { & cout<<words[i]<<endl; } cout<<"Percentage of invalid words: "<<invalid/n<<endl; return 0; }
Comments
Leave a comment