How to write a function that goes through an array of
characters and eliminates any elements that are not letters
(Legal letters can be either in an uppercase or a
lowercase format.)
The function removeNonLetters should return the new
effective size of the array as the result.
Answers were Sorted based on User's Feedback
Answer / vivek
//This function returns true if valid character, else false
bool isCharacter(char unknownCharacter)
{
//Check whether the character falls between
// a ...z or A....Z
if( (unknownCharacter >= 'a' &&
unknownCharacter <= 'z') ||
unknownCharacter >= 'A' &&
unknownCharacter <= 'Z')
{
return true;
}
else
{
return false;
}
}
//This function removes non characters and returns array s
//effective size.
unsigned int removeNonCharacters(char *charArray, unsigned int arraySize)
{
//Lets decrement by non character as and when we identify
unsigned int effectiveArraySize = arraySize; .
//Algo: Traverse the array and in the mean time Identify
// non chars positions and move valid chars from right
// side of the array to fill those positions.
//used to traverse and mark valid chars.
unsigned int currentValidCharacterPosition = 0;
//Used to traverse and mark non valid character
unsigned int currentNonValidCharacterPosition = 0;
while( (currentValidCharacterPosition < arraySize) &&
(currentNonValidCharacterPosition < arraySize) )
{
if(isCharacter(charArray[currentValidCharacterPosition ])
{
//If we are here mean this is a valid character in
//the array, go to next character
currentValidCharacterPosition++;
}
else //This is a non character
{
//Mark the first non valid character position
currentNonValidCharacterPosition =
currentValidCharacterPosition ;
//move to findout valid character in the remaining
//array
while( (currentValidCharacterPosition <= arraySize) && (!isValidCharacter(characterArray[currentValidCharacterPosition]) )
{
--effectiveArraySize;
++currentValidCharacterPosition;
}//End While
//Check in the mean time whether we exhausted the
//array
if( currentValidCharacterPosition == arraySize)
{
return effectiveArraySize;
}//End If
//Move the valid character to fill the leftmost
//non valid character position.
characterArray[currentNonValidCharacterPosition]
= characterArray[currentValidCharacterPosition];
//Move on.
++currentValidCharacterPosition;
}//End Else (invalid character)
}//End While
return effectiveArraySize;
}
Is This Answer Correct ? | 0 Yes | 0 No |
Answer / vivek
Please bear with indentation, treat charArray and characterArray as same.
Is This Answer Correct ? | 0 Yes | 0 No |
why & sign is used in copy constructor
how can u do connectivity in c++ language? plz send me connectivity code in c++ ?
what is compiler?
sir please send me bpcl previous question papers
0 Answers BPCL Bharat Petroleum,
How to write a function that goes through an array of characters and eliminates any elements that are not letters (Legal letters can be either in an uppercase or a lowercase format.) The function removeNonLetters should return the new effective size of the array as the result.
Describe the elements of Microsoft Word screen. Write down steps for creating, saving, retrieving, editing and printing a document.
how to get the sum of two integers?
5. Write c++ function that would intake a string and return the number of occurrences of a given character in that sring Ex:- if the word is “Colombo” and count the occurrences of the letter “o” the function would return 3
What are the symptoms of stl?
Write a C/C++ program that connects to a MySQL server and checks if the InnoDB plug-in is installed on it. If so, your program should print the total number of disk writes by MySQL.
How does an stl file work?
Which data structure gives efficient search? A. B-tree B. binary tree C. array D. linked list
21 Answers ABC, Sun Microsystems,