1. Write a program in C/C++ that takes a set of parentheses and braces from the standard input terminal and determines whether the set of parentheses and braces is balanced or not. A set of parentheses and braces is called balanced if for each opening parenthesis or brace these is a corresponding closing parenthesis or brace in correct order In your program a user will enter ‘#’ to indicate the end of the data entry. Your program must use a linked list to store the parentheses and braces entered by the user. Your output format should be as shown in the test runs Your program must contain the following user-defined functions: - makeList – this function creates a linked list from the user input. - printList – this function prints the user inputted data. - push – this function performs push operation of a stack - pop – this function performs pop operation of the stack - stackEmpty – this function returns true is the stack is empty and returns false otherwise - balanceCheck – this function reads data from the linked list that contains user input and utilize the stack to determine whether the user inputted data is balanced or not. Test Run 1: Enter an expression: (())# Input Expression: ( ( ) ) The expression is balanced Test Run 2: Enter an expression: {(}(()))# Input Expression: { ( } ( ( ) ) ) The expression is not balanced Test Run 3: Enter an expression: (# Input Expression: ( The expression is not balanced Test Run 4 Enter an expression: {}()(({}))# Input Expression: { } ( ) ( ( { } ) ) The expression is balanced

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

1. Write a program in C/C++ that takes a set of parentheses and braces from the standard input terminal and determines whether the set of parentheses and braces is balanced or not. A set of parentheses and braces is called balanced if for each opening parenthesis or brace these is a corresponding closing parenthesis or brace in correct order In your program a user will enter ‘#’ to indicate the end of the data entry.

Your program must use a linked list to store the parentheses and braces entered by the user. Your output format should be as shown in the test runs

Your program must contain the following user-defined functions:

  • -  makeList – this function creates a linked list from the user input.

  • -  printList – this function prints the user inputted data.

  • -  push – this function performs push operation of a stack

  • -  pop – this function performs pop operation of the stack

    -  stackEmpty – this function returns true is the stack is empty and returns false otherwise

     

     

  • -  balanceCheck – this function reads data from the linked list that contains user input and utilize the stack to determine whether the user inputted data is balanced or not.

Test Run 1:
Enter an expression: (())#

Input Expression: ( ( ) )
The expression is balanced

Test Run 2:

Enter an expression: {(}(()))#

Input Expression: { ( } ( ( ) ) )

The expression is not balanced

Test Run 3:

Enter an expression: (#
Input Expression: (
The expression is not balanced

Test Run 4

Enter an expression: {}()(({}))#

Input Expression: { } ( ) ( ( { } ) )

The expression is balanced

Expert Solution
steps

Step by step

Solved in 3 steps with 7 images

Blurred answer
Similar questions
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY