Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Problem in stack(data structure in C)

Posted on 1998-11-19
8
Medium Priority
?
353 Views
Last Modified: 2010-04-15
How to write a program using stack (in C language)which functions almost like a calculator. the program will receive inputs like for example : 12 * (15 - 6) + 388  
The program will calculate +, -, *, /, (), operations.  
The priority operations are :

   1st. ( )
   2nd. *, /
   3rd. +, -

The program will print the operation for example like The question above :

15 - 6
12 * 9
108 + 388
= 496
0
Comment
Question by:tagheuer
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
8 Comments
 

Expert Comment

by:baprebap
ID: 1254469
refer badrul's query.
0
 
LVL 1

Expert Comment

by:940961sl
ID: 1254470
I would solve this problem with a recursive function

pseudo code :

double solve (equation)
{
   while ()
      isolate equation between ()   -> start with first ( and  
                                       stop if you have as many (
                                       as )
      solve (equation between () )  -> same function
      substitute result in equation

   while *, /
      isolate equation with * or /
      solve (equation with * or /)
      substitute result in equation

   now you have an equation with only + and - => add (equation)
   return result
}

hope this helps ...

Stefaan
0
 

Author Comment

by:tagheuer
ID: 1254471
I want more details about the codes.
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 

Expert Comment

by:gjvc
ID: 1254472
Do your own homework.
0
 
LVL 1

Expert Comment

by:940961sl
ID: 1254473
>> I want more details about the codes

Can you be a little bit more specific? What part do you not understand?

Stefaan
0
 
LVL 27

Expert Comment

by:BigRat
ID: 1254474
>> Do your own homework.

Quite, but what you need is a Reverse Polish Expression Evaluator. Take virtually any text book and look up Reverse Polish. You usually find the algorithm there. I'm NOT going to hack one in.

   Furthermore you should now give the points away to the first person (Rat excepted) who can tell you the actual NAME of the person after whom the algorithm is called. His name is rarely used since it's almost unpronounceable.
0
 
LVL 10

Accepted Solution

by:
rbr earned 60 total points
ID: 1254475
What further problems do you have?
0
 
LVL 84

Expert Comment

by:ozo
ID: 1254476
Jan Lukasiewicz
But rather than bother converting to his notation, I'd probably do it with either a recursive descent, or an inside-out evaluator
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This is a short and sweet, but (hopefully) to the point article. There seems to be some fundamental misunderstanding about the function prototype for the "main" function in C and C++, more specifically what type this function should return. I see so…
Examines three attack vectors, specifically, the different types of malware used in malicious attacks, web application attacks, and finally, network based attacks.  Concludes by examining the means of securing and protecting critical systems and inf…
The goal of this video is to provide viewers with basic examples to understand how to create, access, and change arrays in the C programming language.
The goal of this video is to provide viewers with basic examples to understand and use switch statements in the C programming language.
Suggested Courses

722 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question