5. Data Structure Program | Read Now
Data Structure VTU LAB PROGRAM -05
- Design, Develop and Implement a Program in C for the following Stack Applications
- Evaluation of Suffix expression with single-digit operands and operators:+, -, *, /, %, ^
- Solving Tower of Hanoi problem with n disks
Program 5.a [suffix.c]
#include<stdio.h> #include<math.h> #include<string.h> float compute(char symbol, float op1, float op2) { switch (symbol) { case '+': return op1 + op2; case '-': return op1 - op2; case '*': return op1 * op2; case '/': return op1 / op2; case '$': case '^': return pow(op1,op2); default : return 0; } } void main() { float s[20], res, op1, op2; int top, i; char postfix[20], symbol; printf("\nEnter the postfix expression:\n"); scanf ("%s", postfix); top=-1; for (i=0; i<strlen(postfix) ;i++) { symbol = postfix[i]; if(isdigit(symbol)) s[++top]=symbol - '0'; else { op2 = s[top--]; op1 = s[top--]; res = compute(symbol, op1, op2); s[++top] = res; } } res = s[top--]; printf("\nThe result is : %f\n", res); }
Program 5.b [towerofhonai.c]
#include<stdio.h> #include<math.h> void tower(int n, int source, int temp, int destination); void tower(int n, int source, int temp, int destination) { if(n == 0) return; tower(n-1, source, destination, temp); printf("\nMove disc %d from %c to %c", n, source, destination); tower(n-1, temp, source, destination); } void main () { int n; printf("\nEnter the number of discs: \n\n"); scanf("%d", &n); printf("\nThe sequence of moves involved in the Tower of Hanoi are\n"); tower(n, 'A', 'B', 'C'); printf("\n\nTotal Number of moves are: %d\n", (int)pow(2,n)-1); }
Data Structure – How to Run this Program
- Step-1: Copy the above code
- Step-2: Paste it in any C compiler [Codeblocks/Dev C++/ VsCode etc]
- Step-3: Save the file name with .C extension
- Step-4: Compile the program
- Step-5: Run the program
- Step-6: Program Execution Successful