"infix to prefix using cpp linked list program" Code Answer's
You're definitely familiar with the best coding language C++ that developers use to develop their projects and they get all their queries like "infix to prefix using cpp linked list program" answered properly. Developers are finding an appropriate answer about infix to prefix using cpp linked list program related to the C++ coding language. By visiting this online portal developers get answers concerning C++ codes question like infix to prefix using cpp linked list program. Enter your desired code related query in the search bar and get every piece of information about C++ code related question on infix to prefix using cpp linked list program.
infix to prefix using cpp linked list program
#include <stdio.h>#include <conio.h>#include <string.h>#include <ctype.h>#define MAX 50struct infix{ char target[MAX] ; char stack[MAX] ; char *s, *t ; int top, l ;} ; void initinfix ( struct infix * ) ;void setexpr ( struct infix *, char * ) ;void push ( struct infix *, char ) ;char pop ( struct infix * ) ;void convert ( struct infix * ) ;int priority ( char c ) ;void show ( struct infix ) ; void main( ){ struct infix q ; char expr[MAX] ; clrscr( ) ; initinfix ( &q ) ; printf ( "\nEnter an expression in infix form: " ) ; gets ( expr ) ; setexpr ( &q, expr ) ; convert ( &q ) ; printf ( "The Prefix expression is: " ) ; show ( q ) ; getch( ) ;}/* initializes elements of structure variable */void initinfix ( struct infix *pq ){ pq -> top = -1 ; strcpy ( pq -> target, "" ) ; strcpy ( pq -> stack, "" ) ; pq -> l = 0 ;}/* reverses the given expression */void setexpr ( struct infix *pq, char *str ){ pq -> s = str ; strrev ( pq -> s ) ; pq -> l = strlen ( pq -> s ) ; *( pq -> target + pq -> l ) = '\0' ; pq -> t = pq -> target + ( pq -> l - 1 ) ;}/* adds operator to the stack */void push ( struct infix *pq, char c ){ if ( pq -> top == MAX - 1 ) printf ( "\nStack is full.\n" ) ; else { pq -> top++ ; pq -> stack[pq -> top] = c ; }}/* pops an operator from the stack */char pop ( struct infix *pq ){ if ( pq -> top == -1 ) { printf ( "Stack is empty\n" ) ; return -1 ; } else { char item = pq -> stack[pq -> top] ; pq -> top-- ; return item ; }}/* converts the infix expr. to prefix form */void convert ( struct infix *pq ){ char opr ; while ( *( pq -> s ) ) { if ( *( pq -> s ) == ' ' || *( pq -> s ) == '\t' ) { pq -> s++ ; continue ; } if ( isdigit ( *( pq -> s ) ) || isalpha ( *( pq -> s ) ) ) { while ( isdigit ( *( pq -> s ) ) || isalpha ( *( pq -> s ) ) ) { *( pq -> t ) = *( pq -> s ) ; pq -> s++ ; pq -> t-- ; } } if ( *( pq -> s ) == ')' ) { push ( pq, *( pq -> s ) ) ; pq -> s++ ; } if ( *( pq -> s ) == '*' || *( pq -> s ) == '+' || *( pq -> s ) == '/' || *( pq -> s ) == '%' || *( pq -> s ) == '-' || *( pq -> s ) == '$' ) { if ( pq -> top != -1 ) { opr = pop ( pq ) ; while ( priority ( opr ) > priority ( *( pq -> s ) ) ) { *( pq -> t ) = opr ; pq -> t-- ; opr = pop ( pq ) ; } push ( pq, opr ) ; push ( pq, *( pq -> s ) ) ; } else push ( pq, *( pq -> s ) ) ; pq -> s++ ; } if ( *( pq -> s ) == '(' ) { opr = pop ( pq ) ; while ( opr != ')' ) { *( pq -> t ) = opr ; pq -> t-- ; opr = pop ( pq ) ; } pq -> s++ ; } } while ( pq -> top != -1 ) { opr = pop ( pq ) ; *( pq -> t ) = opr ; pq -> t-- ; } pq -> t++ ;}/* returns the priotity of the operator */int priority ( char c ){ if ( c == '$' ) return 3 ; if ( c == '*' || c == '/' || c == '%' ) return 2 ; else { if ( c == '+' || c == '-' ) return 1 ; else return 0 ; }}/* displays the prefix form of given expr. */void show ( struct infix pq ){ while ( *( pq.t ) ) { printf ( " %c", *( pq.t ) ) ; pq.t++ ; }}
Source: scanftree.com
All those coders who are working on the C++ based application and are stuck on infix to prefix using cpp linked list program can get a collection of related answers to their query. Programmers need to enter their query on infix to prefix using cpp linked list program related to C++ code and they'll get their ambiguities clear immediately. On our webpage, there are tutorials about infix to prefix using cpp linked list program for the programmers working on C++ code while coding their module. Coders are also allowed to rectify already present answers of infix to prefix using cpp linked list program while working on the C++ language code. Developers can add up suggestions if they deem fit any other answer relating to "infix to prefix using cpp linked list program". Visit this developer's friendly online web community, CodeProZone, and get your queries like infix to prefix using cpp linked list program resolved professionally and stay updated to the latest C++ updates.