saye7474 40 اشتراک گذاری ارسال شده در 2 آذر، ۱۳۹۳ یه تیکه از برنامه ام مونده.:{میخوام الگوریتمی برای معکوس کردن یه عبارت میانوندی بنویسم }مثل : 12+7^3+2*4 به 4*2+3^7+ 12 2 لینک به دیدگاه
samisoft 47 اشتراک گذاری ارسال شده در 2 آذر، ۱۳۹۳ ی تیکه از برنامه ام مونده.:{میخوام ی الگوریتم برای معکوس کردن ی عبارت میانوندی بنویسم }مث :12+7^3+2*4 ب 4*2+3^7+ 12 بهم کنید................... به وسیله کدوم زبان برنامه نویسی؟ 3 لینک به دیدگاه
سارا-افشار 36437 اشتراک گذاری ارسال شده در 3 آذر، ۱۳۹۳ تبدیل infix به postfix در جاوا import java.io.IOException;public class InToPost { private Stack theStack; private String input; private String output = ""; public InToPost(String in) { input = in; int stackSize = input.length(); theStack = new Stack(stackSize); } public String doTrans() { for (int j = 0; j < input.length(); j++) { char ch = input.charAt(j); switch (ch) { case '+': case '-': gotOper(ch, 1); break; case '*': case '/': gotOper(ch, 2); break; case '(': theStack.push(ch); break; case ')': gotParen(ch); break; default: output = output + ch; break; } } while (!theStack.isEmpty()) { output = output + theStack.pop(); } System.out.println(output); return output; } public void gotOper(char opThis, int prec1) { while (!theStack.isEmpty()) { char opTop = theStack.pop(); if (opTop == '(') { theStack.push(opTop); break; } else { int prec2; if (opTop == '+' || opTop == '-') prec2 = 1; else prec2 = 2; if (prec2 < prec1) { theStack.push(opTop); break; } else output = output + opTop; } } theStack.push(opThis); } public void gotParen(char ch){ while (!theStack.isEmpty()) { char chx = theStack.pop(); if (chx == '(') break; else output = output + chx; } } public static void main(String[] args) throws IOException { String input = "1+2*4/5-7+3/6"; String output; InToPost theTrans = new InToPost(input); output = theTrans.doTrans(); System.out.println("Postfix is " + output + '\n'); } class Stack { private int maxSize; private char[] stackArray; private int top; public Stack(int max) { maxSize = max; stackArray = new char[maxSize]; top = -1; } public void push(char j) { stackArray[++top] = j; } public char pop() { return stackArray[top--]; } public char peek() { return stackArray[top]; } public boolean isEmpty() { return (top == -1); } }} 4 لینک به دیدگاه
سارا-افشار 36437 اشتراک گذاری ارسال شده در 3 آذر، ۱۳۹۳ برای تبدیل infix به postfix توی یه درخت دودویی , ابتدا برگها ، بعد ریشه ها را پیمایش باید بکنی در حالت تبدیل infix به prefix هم باید ریشه بعد برگها رو پیمایش کنی تو کتاب ساختمان داده ها خوب توضیح داده چطوری با پشته(stack) اینا رو پیاده سازی کنی ولی اینی که مثال زدی نه پیش وند نه پس وند 2 لینک به دیدگاه
saye7474 40 مالک اشتراک گذاری ارسال شده در 3 آذر، ۱۳۹۳ به وسیله کدوم زبان برنامه نویسی؟ بازبان c# 2 لینک به دیدگاه
saye7474 40 مالک اشتراک گذاری ارسال شده در 3 آذر، ۱۳۹۳ برای تبدیل infix به postfix توی یه درخت دودویی , ابتدا برگها ، بعد ریشه ها را پیمایش باید بکنی در حالت تبدیل infix به prefix هم باید ریشه بعد برگها رو پیمایش کنی تو کتاب ساختمان داده ها خوب توضیح داده چطوری با پشته(stack) اینا رو پیاده سازی کنی ولی اینی که مثال زدی نه پیش وند نه پس وند ممنونم سارا جووووون ب زبان c#نتونستم پیدا کنم خواستم خودم بنویسم تیکه اول واخرش ی معکوس میخاد عبارت میریزی تو پشته از اخر پیمایش میکنی نمیدونستم الگوریتمش چطوریه؟؟؟؟؟؟؟؟؟؟؟؟؟؟ بعدش مث پسوندی عمل میکنی ج نهایی ی معکوس میخاد 3 لینک به دیدگاه
ارسال های توصیه شده