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
ADVERTISEMENT
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
View Related
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
Oct 1, 2013
Program which convert expression from PostFiz to Infix and also wants to evaluate them....
View 3 Replies
View Related
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
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
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
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
Apr 25, 2014
I have the following problem on my C++ Program and I am not sure why it is not working. I am creating a infix to postfix program through an inherited class which I am not sure it is working.
#include <iostream>
#include <stack>
using namespace std;
int in_stack_Priority(char a){
if(a == '*' || a == '/')
return 2;
[Code] .....
View 3 Replies
View Related
Sep 25, 2013
I trying to write a code for a calculator using stack is how to convert an operation from infix to postfix . Here is my attempt I created a header file.
#ifndef STACK_H
#define STACK_H
#include <iostream>
using namespace std;
template<class T>
struct node {
T item;
[Code] .....
View 1 Replies
View Related
Mar 27, 2014
I keep getting the same error messages every time on Visual Studio. I don't know where the error is originating. Basically I'm trying to convert an infix expression (A+B-C) to a postfix expression (AB+C-) using stacks.
#include <iostream>
#include <fstream>
#include <string>
#include <stack>
#include "Expression.h"
#include "stackType.h"
using namespace std;
int main() {
string fileName;
string infixExpression, postfixExpression;
[Code] .....
View 2 Replies
View Related
Feb 4, 2014
Array based stack class. So i am having a problem, i do not understand how to convert an infix notation into a postfix notation from a txt file. The infix expressions are stored in a text file. for example inside the text file is
6+9
2+7*8
(1+5)*3
5+(6-2)*((2-8)
at the moment my header file is
#ifndef STACKS_H
#define STACKS_H
#include <iostream>
using namespace std;
const int STACKS_CAPACITY = 128;
typedef int StacksElement;
[Code] ....
but how to make it convert the into postfix...
View 3 Replies
View Related
Sep 28, 2014
I was given a task to convert infix to post fix using both linked lists and stacks in the code so this is what i have written but the problem is it is giving me same error at three different places "missing function header(old style format?)
#include <iostream>
#include <string>
using namespace std;
const int size = 100;
class stack{
private: // Declare a structure for the list
[Code] ....
View 12 Replies
View Related
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
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
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
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
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
Sep 16, 2013
Code:
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<ctype.h>
#define MAX 50
[Code] ....
[URL] .....
My output should look like this ..
Enter an expression in infix form: (9+6)/(2*4)^15
Specify output expression type,1) Prefix 2)Postfix
The Prefix expression is: /+96^*2415
----------------------------------------------
Enter an expression in infix form: (9+6)/(2*4)^15
Specify output expression type,1) Prefix 2)Postfix
The Postfix expression is:96+24*15^/
View 2 Replies
View Related
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
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
Oct 21, 2014
how i solve this..?
View 1 Replies
View Related
Dec 3, 2014
Also, can't use namespace std for this.
#include<iostream>
#include<stack>
#include<fstream>
#include<iomanip>
#include<queue>
#include<cassert>
[Code] ....
/* It will read in a infix expression from a text file.check if the parentheses in the input expression are balanced.convert the infix expression into a postfix expression and evaluate the expression.*/
int main() {
string expression;
string postfixExpression;
double result;
testBalanced();
[Code] ....
View 8 Replies
View Related
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
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
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