C/C++ :: Calculate Postfix Notation

Feb 15, 2015

My program suppose calculate postfix expression.

Ex. 5 4 + 3 10 * + the answer is 39 because if I change it to infix, it's (5 + 4) + (3 * 10)

I need to use vector to compute the value. Here is what I think. First, I save leftmost from the string. If it is a number, I push. If that is a operation, I pop twice and push the result. By doing it until the string is emptied, the vector will only contain the final answer. And here is my code

#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main(){
vector<int> stack;
string input;

[Code] .....

When I put 1 1 + or 2 2 +, it showing me a correct answer, but when I put the above example which is 5 4 + 3 10 * +, it shows 30 instead of 39.

View 8 Replies


ADVERTISEMENT

C/C++ :: Infix To Postfix Notation

Sep 14, 2014

I'm trying to make an infix to postfix notation calculator. The difficult thing is th stack class is custom. It's not to hard to understand, I don't know if the fact that it is that way will not allow me to receive support. The difference is that the pop functions is as such:

stack<char> conversion;
char temp;
conversion.pop(temp);//It receives a parameter and puts the popped element in there.
conversion.peek(temp);//Places the top element in said parameter

not only that... but these are boolean functions. they return true if the operation was completed. So they can be used as conditions.

#include<iostream>
#include<string>
#include<stdio.h>
#include"stack.h"
using namespace std;
int main(void) {
Stack<char> conversion;
string infix,inter,temps;

[Code] .....

The error is that i am mismanaging parenthesis handling and i can't seem to grasp where and how.

An example input is:(35+7)-(9-2)
that input gives me:35 7 + 9 2 ) -
but another input such as :(35+7)/7
outputs as: 35 7 + 7 /. Totally fine.

View 3 Replies View Related

C++ :: Write Program To Convert Time From 24-hour Notation To 12-hour Notation

Dec 10, 2013

Write a program to convert the time from 24-hour notation to 12-hour notation and vice versa. Your program must be menu driven, giving the user the choice of converting the time between the two notations. Furthermore, your program must contain at least the following function: a function to convert the time from 24-hour notation to 12-hour notation, a function to convert the time from 12-hour notation to 24-hour notation, a function to display the choices, function(s) to get the input, and function(s) to display the results. (For 12-hour time notation, your program must display AM or PM.)

Answer:

#include <iostream>
#include <iomanip>
#include <cmath>

[Code]....

It is showing error because may be I was not able to put that if statement inside any function. find out the error sand complete the program with corrected code.

View 2 Replies View Related

C++ :: Plus Or Minus Notation

Aug 4, 2013

Is there a simple notation to check if a value is within a plus or minus range?

E.g.
//I read a value A. delay(50); //Read value again -calling this value B delay(50);
//Read value again -calling this value C delay(50); //Read value again -calling this value D delay(50);
//Read value again -calling this value E
Check IF first value A is within 5 of the value B and within 5 of value C, etc.

I can think of a few round about ways of doing this but is there any simple "equals to plus or minus" notation? (what I actually want to do is to check a lot more values than this and it will get very complicated with any of my solutions)....

View 4 Replies View Related

C++ :: Scientific Notation To Decimal?

Mar 12, 2014

I just wrote code that is a program for a relativity calculator. However many of my outputs (because the values tend to be large) end up in scientific notation. Although useful, its not great for the laymen, or nice looking.

How can I change it so that output is not in scientific notation? here is the code:

// This program/converter is designed to find the desired 'real' values using Einstein's theory of relativity

#include<iostream>
#include<math.h>
#include<stdlib.h>

[Code]....

View 1 Replies View Related

C++ :: Stop Scientific Notation

Jul 15, 2013

double number = 10000000;
int range;//the length of the string result
string result;//holds the number in a string
ostringstream convert; //stream used for the conversion
convert << number;
result = convert.str();

range = result.length();

I'm trying to convert a double to a string and when the number goes to ten million it goes to scientific notation and it shows it in the string. How do I stop it from do that?

View 2 Replies View Related

C :: Program To Print Letters In Given Notation

Feb 11, 2014

I have to develop script in C to print the alphabets in given notation.

Please check the attachment.

View 4 Replies View Related

C/C++ :: Reverse Polish Notation Not Doing Second Operand

Sep 24, 2014

been working on this code til my eyes bled, can not get second operand to work, if i enter 1 2 3 + - it will only return 5 from the addition operand.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

[Code].....

View 5 Replies View Related

C/C++ :: Program For Adding Many Fractions With Sum Notation

Jul 16, 2014

I was trying 2 write a program that would calculate the sum notation of 1/(i^2) with the starting number to be 1 and goes up to the nth term. For instance if the user inputed 3 then the sum would look like 1+1/4+1/9. I somehow made a code but it gets weird numbers which some include negative numbers... when I input a number that is above 5.

#include <stdio.h>
#include <math.h>
int main(int argc, const char * argv[]) {
int n;
register int i=1;
float b;//For part 1

[Code] ....

For some reason I can't edit printf("%f",/>/>; when I post it as the topic so ignore that part cuz Ik its supposed to be written as printf("%f",/>;

View 6 Replies View Related

C/C++ :: Find Out Scientific Notation Of Numbers

Oct 21, 2014

how i solve this..?

View 1 Replies View Related

C++ :: Output Sorting Error Using Pointer Notation

Aug 6, 2012

My code compiled well(After long Messing up with my head). But, i still not satisfied of my output as i expected. My code ought to sort the object of person comparing their salary. But, its not.

Code:
#include <iostream>
#include <string>
using namespace std;
class person {
protected :
string name;
float salary;

[Code] ....

It doesn't sort the object of class person rather than it prints out the stored value as it is.

View 3 Replies View Related

C/C++ :: Read Arguments From Console For Reverse Polish Notation

Sep 21, 2014

I have this code in order to make a RPN calculator,but im trying to read from the console entering the expression in reverse polish notation,Also I think it will be better to use fgets() instead of scanf since the person can entere something like this 3 2 1 + x

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <ctype.h>

[Code].....

View 7 Replies View Related

C++ :: Infix To Postfix Using Stack Conversion

Mar 8, 2013

I am Getting following errors I don't know why.I have mentioned the lines (in comments) where these errors are occurring.
__________________________________________________
warning C4018: '<' : signed/unsigned mismatch
error C2064: term does not evaluate to a function taking 0 arguments
error C2064: term does not evaluate to a function taking 0 arguments
__________________________________________________ _

Code:
/////////////////////////////////////////////////
//libraries
/////////////////////////////////////////////////
#include <iostream>
#include <string>
using namespace std;

[Code] .....

View 1 Replies View Related

C :: Postfix And Prefix On Array Pointer

Apr 25, 2013

first code,

Code:

int aRRay[] = {2,4,8,-2,-1,100};
int *ptr;
int loop;
ptr = &aRRay[0];
}

[code].....

first code result, " aRRay[] " and " ptr + loop " are in the same result
second code result, " aRRay[] " and "ptr + loop " are in the same result too,
third code result, " aRRay[] " and "ptr + loop " are in the same result Except "aRRay[4] = -1 with ptr + 4 = 100 " and "aRRay[5] = 100 with ptr + 5 = 14"

Question:Why the third code had a different result ? Its only because of the increment ++ptr or the round brackets on the *(++ptr) ?

View 4 Replies View Related

C++ :: Converting Expression From Postfix To Infix

Oct 1, 2013

Program which convert expression from PostFiz to Infix and also wants to evaluate them....

View 3 Replies View Related

C++ :: Evaluating Postfix Expression Using Stacks

Nov 3, 2013

i feel like im really close to completing this but i cant seem to get the result printed out i dont think im calling my evaluate function correctly and its not performing the operations..

#include <iostream>
#include <stack> //stack header file
using namespace std;

[Code].....

View 1 Replies View Related

C++ :: Postfix Operator Overloading Error

Jul 27, 2012

Recently, i successfully overloaded postfix operator to class counter by using Object and Class. Now, i want to overload same postfix operator to Inheritance. I created my code and generated in compiler. But, my compiler signaled me uncommon error(saw first time) and i couldn't generate any idea where my actually mistake is.

Here is my Code which objective is to count the number increasingly or decreasingly as per object created of CountDn class.

Code:
#include <iostream>
using namespace std;
class Counter // base class
{
protected : // NOTE : Not Private
unsigned int count;

[Code] ....

Error :|41|error: no 'operator++(int)' declared for postfix '++', trying prefix operator instead|
|42|error: no 'operator++(int)' declared for postfix '++', trying prefix operator instead|
|42|error: no match for 'operator=' in 'c2 = c1.CountDn::<anonymous>.Counter:perator++()'|
|44|error: no 'operator--(int)' declared for postfix '--', trying prefix operator instead|

View 10 Replies View Related

C :: Return Local Variable - Infix To Postfix

Nov 21, 2014

So I have been working my way through this assignment and I'm just stuck now. I cannot get this work properly It just tells me I'm trying to return a local variable when attempting to return postfix in the to_postfix function. It is line 97 that wont compile. Also I cannot change anything in runner.c.

Calculator.c
Code:

1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <ctype.h>
4 #include <string.h>
5 #include "stack.h"

[Code] .....

View 11 Replies View Related

C++ :: Write A Postfix Calculator Program Using Stack

Dec 14, 2013

i try to write a postfix calculator program using stack in C++ the in put must be the infix expression but can dont know how to write a infix expression in put.

this is my code :

#include <iostream>
#include <stdio.h>
#include <math.h>
#include <conio.h>
using namespace std;
}

[code]....

View 2 Replies View Related

C++ :: Infix To Postfix Reading From Text File

Feb 6, 2014

So i solved my earlier problem but now how do i make it read from the text file that i have and output the postfix notations? Because right now it is only outputting what is currently in the text file for example

6+9
2+7*8
(1+5)*3
5+(6-2)*((2-8)

Header file is

#ifndef STACKS_H
#define STACKS_H
#include <iostream>
using namespace std;
const int STACKS_CAPACITY = 128;
typedef int StacksElement;

[Code]...

test client cpp is

#include <iostream>
using namespace std;
#include "Stacks.h"
#include <fstream>
#include <string>
#include <cassert>
#include <cctype>

[Code]...

View 10 Replies View Related

C++ :: Month Class - Overloading Prefix And Postfix?

May 2, 2013

The objective is to build a month class that hold data on the number of the month and the name of the month. Using constructors and overloads, set it up to where you can input either the month or the name and it will output the results for both the month number and name.

Here is the code I have so far:

#include<iostream>
#include<string>
using namespace std;
class Month{
private: string name;
int monthNumber;

[Code] ....

It is almost fully compiled if I go by the error list. The only problems I see to be having are with the prefix and postfix overloads.

View 5 Replies View Related

C/C++ :: Infix To Postfix Conversion And Evaluating Expression

Apr 12, 2015

I am trying to convert from infix to postfix, and then evaluating the postfix expression to get the final answer. I am having a severe problem though, because for somereason the conversion is not working at all. For example, when I input the first infix expression:

24 + 33 * ( 7 - 5 ) + 8 / 3 it ouputs 24 33 7 5 - 5 ) + 8 / 3( 7 - 5 ) + 8 / 3* ( 7 - 5 ) + 8 / 3+ 33 * ( 7 - 5 ) + 8 / 3 8 3/ 3+ 8 / 3

Which is obviously very wrong. I am not really sure where the problem is though.

Below I have included all of the code needed. I also had to create my own stack class, so I will include it too .

#include "stacks.h"
#include <iostream>
using namespace std;
bool IsOperand(char C) {
if(C >= '0' && C <= '9') return true;
if(C >= 'a' && C <= 'z') return true;

[Code] .....

View 1 Replies View Related

C++ :: Convert From Infix Expression To Postfix Using Stacks?

May 24, 2014

I need to convert from an infix expression to postfix using stacks!

#ifndef EXPRESSIONMANAGER_H_
#define EXPRESSIONMANAGER_H_
#include <iostream>
#include <stack>
#include <string>
#include <sstream>
using namespace std;
class ExpressionManager : public ExpressionManagerInterface{

[code]....

View 2 Replies View Related

C/C++ :: Postfix Calculator Using Stack With Exception Handling?

Mar 15, 2015

I'm having some significant trouble with an assignment to create a postfix calculator that simulates the dc calculator function in linux. I have attached the handout with project instructions, but my main problem at the moment lies with parsing through the string input and adding the numbers into a stack of ints.

 Project #2.pdf (47.78K)

Here's a brief summary of the methods used in the switch statement:

OPERATORS AND COMMMAND INPUTS
+ : Pops two values off the stack, adds them, and pushes the result.
- : Pops two values, subtracts the first one popped from the second one popped, and pushes the result.
* : Pops two values, multiplies them, and pushes the result.
/ : Pops two values, divides the second one popped from the first one popped, and pushes the result.
% : Pops two values, computes the remainder of the division that the / command would do, and pushes that.

Commands

p - Prints the value on the top of the stack, without altering the stack. A newline is printed after the value.

f - Prints the entire contents of the stack without altering anything. A newline is printed after each value

n - Prints the value on the top of the stack, pops it off, and does not print a newline after.

c - Clears the stack, rendering it empty.

d - Duplicates the value on the top of the stack, pushing another copy of it. Thus "4d*p" computes 4 squared and prints it.

r - Reverses the order of (swaps) the top two values on the stack.

Exception handling also needs to be added to account for division by zero and and invalid operator.

Right now my biggest problem is that I keep getting the following strange output where a 0 is automatically added to the stack when I call a function or operator. I realize this is probably because of the lines I have placed outside of the for loop that read

//END FOR LOOP
int num = atoi(operands.c_str());
myStack.push(num);
operands = "";
cout << num << " added." << endl;

But when I tried putting these statements INSIDE the for loop, I just get more errors. I've been working on this for a number of hours but I can't figure out my issue. I've also attached an image of my current output.

#include <iostream>
#include <cctype>
#include <string>
#include <cstdlib>
using namespace std;
#include "stack.h"
bool isOperator(const char& input );

[code]....

View 6 Replies View Related

Visual C++ :: Overriding Prefix / Postfix Operators

Oct 26, 2012

I have an assignment which includes overriding the prefix and postfix operators, and my teacher has provided what the output from the program should be. I've written the code and it's nearly perfect, except for one tiny error I can't seem to get right.

This is (most of) the code from the header--I left out a few of the parts that aren't relevant to my question:

Code:
using namespace std;
#include<string>
#include<iostream>
class NumDays {
private:
int hours;

[Code] ....

The two problem lines are supposed to be outputting 12 and 1.5, respectively, but are instead showing 13 and 1.625. I know that hours is being changed to 12 at the end of the overriden prefix operation in the line above them, so I don't understand why it returns to 13 again. What I need to change?

View 5 Replies View Related

C :: Evaluate Postfix Expression (floating Point Numbers)

Apr 4, 2013

The question was to evaluate postfix expression (floating point numbers). I had been able to implement stack data structure using one way singly linked list linked list but I am not been able to extract the original input by the user expressions like

ex:
1. 252.124 3453.7 * 46.3 346.2 23.6 ^/$
2.45.23 87.045 * 6.5 ^$
etc,($ELIMETER)

How to take such inputs from the user for proper evaluation . Previously I tried to extract separate digits from integer and decimal fields and computed numbers. The method is very lengthy. Any optimised way for taking such input!

View 7 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved