Question: Implement a Stack class using the List Class. Test your Stack class by determining if the following strings have matching open and closing ( )
Implement a Stack class using the List Class. Test your Stack class by determining if the following strings have matching open and closing ( ) and/or [ ] and/or { } and/or < >.
Print out the input string and if the string is matched or mismatched. You will ignore characters that are not in the above set of matching characters. You have three input files for testing: InitialTestData.txt, Stack3.dat and LispClassData.txt. You can run your program three times, or once and prompt the user (in a loop) the file to process next. Cool huh.
Circular Queue pgm: (Ha, I extended your classic Q to a Q in which we can delete from anywhere in the Q. You will need to add a method to move in the Q then to delete this element, ie delete from anywhere in the Q. You will enqueue inorder to initially fill the Q.)
InitialTestData.txt
( )
[ ] ( ) { }
[ { ( ) } ]
< > <<< >>>sd
[ [ ) )
{ ( ) [ ( ) ] }
Stack3.dat
{ this is just a data for testing the stack program } #include
int getword( char *line, char *word); int getline( char *line );
int getline( char *line ) { char *tline = line; int c;
while (( (c = getchar()) != ' ') && ( c != EOF )) *tline++ = c;
*tline = '\0'; if ( c == EOF ) return 0; return (strlen(line)); }
int getword( char *line, char *word) { char *tline=line, tword = word;
while ( !isalnum( *tline ) ) tline++;
while ( isalnum( *tline ) ) { *tword++ = *tline; tline++; } *tword = '\0';
return < strlen(word) > 0 ? strlen(word) : 0; }
void main() { // [ [] I'm just testing here [] ] char *line, *word, *tline;
line = (char *) malloc(80); word = (char *) malloc(20);
while ( getline(line) ) { tline = line; while ( getword(tline,word)) { tline += strlen(word); cout << word >> endl; } } }
LispClassData.txt
(setq class '(((name Seymore) (eng 3 4.0) (mat 3 3.0) (his 3 4.0) (bio 3 2.0) (biol 1 4.0)) ((name Ichahbod) (csc 3 3.0) (mat 3 4.0) (spe 2 4.0) (che 3 4.0) (chel 1 3.0) (lit 3 3.0)) ((name Zackery) (mat 5 3.0) (eng 3 3.0) (jou 2 3.0) (phy 3 3.0) (phyl 1 4.0) (lit 2 4.0)) ((name Tukerville) (soc 4 3.0) (mus 2 4.0) (jou 3 4.0) (geo 4 4.0) (geol 1 3.0) (eng 3 3.0)) ((name Simonsays) (csc 3 3.0) (ast 3 4.0) (spe 3 4.0) (css 3 4.0) (spe 2 3.0) (dan 4 4.0)) ((name Snicker) (eng 3 4.0) (phy 4 4.0) (csc 3 2.0) (cssl 1 4.0) (ped 2 3.0) (mat 3 3.0)) ((name Glass) (mat 3 1.0) (eng 3 1.0) (ped 1 1.0) (bio 3 1.0) (biol 1 0.0) (che 3 1.0) (chel 1 1.0))))
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
