Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- #include <string.h>
- #include "Stack.h"
- typedef int stack_type;
- #define MAXSTACK 100
- // create_stack, push, pop, stack_top, stack_is_empty, stack_is_full, stack_size
- void main()
- {
- Stack s1, s2;
- create_stack(&s1);
- create_stack(&s2);
- push(5, &s1);
- push(4, &s1);
- push(3, &s1);
- push(2, &s1);
- push(1, &s1);
- push(8, &s2);
- push(6, &s2);
- push(4, &s2);
- push(2, &s2);
- int x;
- print_stack(&s1);
- print_stack(&s2);
- int sum1;
- pop(&s1, &sum1);
- int sum2;
- pop(&s2, &sum2);
- while (!stack_is_empty(&s1) || !stack_is_empty(&s2))
- {
- if (sum1 != sum2)
- {
- if (sum1 < sum2)
- {
- pop(&s1, &x);
- sum1 += x;
- }
- else if (sum1 > sum2)
- {
- pop(&s2, &x);
- sum2 += x;
- }
- }
- else
- {
- printf("\n\nResult: %d", sum1);
- break;
- }
- }
- if(stack_is_empty(&s1) && stack_is_empty(&s2) && sum1 != sum2)
- printf("\nDidn't find!");
- }
- /* Pseudo-Code
- create_stack(Q1)
- create_stack(Q2)
- int sum_q1 =pop(Q1) , sum_q2=pop(Q2)
- while isEmpty(Q1) = FALSE or isEmpty(Q2) = FALSE
- do:
- if sum_q1 > sum_q2
- sum_q2 += pop(Q2)
- else if sum_q1 < sum_q2
- sum_q1 += pop(Q1)
- else
- return 1
- end while
- return 0
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement