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



How to write a function that goes through an array of characters and eliminates any elements that ..

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

How to write a function that goes through an array of characters and eliminates any elements that ..

Answer / vivek

Please bear with indentation, treat charArray and characterArray as same.

Is This Answer Correct ?    0 Yes 0 No

Post New Answer

More STL Interview Questions

What two types of containers does the stl provide?

0 Answers  


WHAT IS FIBONACCI SERIES?

4 Answers   Stewart,


What is the STL?

2 Answers   Epson, HP,


what is an algorithm in terms of STL?

1 Answers   Lucent, Wipro,


Describe the My Computer and My Documents folders; identify the elements that are present in every Window.

0 Answers  






Who wrote stl?

0 Answers  


a program using one dimensional array that searches a number if it is found on the list of given input numbers given by the user and locate its exact location in the list.

0 Answers  


write a c++ program to create an object of a class called employee containing the employee code name designation basic salarry HRA Da gross salary as data 10 such objects "members process "

1 Answers  


Write a program to print the swapping in two no and using three variable.

5 Answers   Broadridge,


What do stl stand for?

0 Answers  


write a program to search and display the position of an element in a single-dimentional array using function.

1 Answers  


Distinguish between: a) Normal layout & Print Layout views b) Windows Clipboard & office Clipboard c) Save & Save As Commands d) Program File & Data File e) Pie Charts & Barr Charts

0 Answers  


Categories