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.

Answer Posted / 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



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What are the various types of stl containers?

718


please visit this site you'll find my question this is my homework please answer it if you can http://easyscience.org/ib/lofiversion/index.php/t36168.html

1763


How does an stl file work?

634


Define stl.

757


How is stl different from c++ standard library?

720






Who created stl?

637


To modify an, existing worksheet. What steps are involved for: 1. Inserting and deleting rows and columns. 2. Printing cell formulas 3Jld displayed values 3. Using the page setup command

1762


What is the use of stl?

622


What is a standard template library (stl)?

628


what is template and type convertion

1980


sir please send me bpcl previous question papers

1940


Is stl part of c++ standard?

629


Explain stl.

886


Q1. A. What is unary operator? List out the different operators involved in the unary operator. B. What is an adjust field format flag? Q2. A. Distinguish between a # include and #define. B. Can a list of string be stored within a two dimensional array? Q3. A.Explain how a pointer to function can be declared in C++? B.List the merits and demerits of declaring a nested class in C++? Q4. A. What are the syntactic rules to be avoid ambiguity in multiple inheritence? B. Explain the operation of overloading of an assignment operator. Q5. A. Explain how the virtual base class is different from the conventional base classes of the opps. B. Explain how an exception handler is defined and invoked in a Program. Q6. A. What is a binary file? List the merits and demerits of the binary file usagein C++. B. Write short notes on Text Manipulation Routines. C. Write bites in Turbo c++ Header (“Include”) Files.

2296


In what scenario does the Logical file and Physical file being used?

2306