Infix To PostFix (Turbo C 2.0)


อัปเดท : 30 เมษายน พ.ศ.2546 , แสดง : 32,151 , ความคิดเห็น : 17

เป็นโปรแกรม โครงสร้างข้อมูลทำงานโดยแปลง Infix to Posfix พัฒนาด้วย C 2.0 ทั้งหมด (แบบฝึกหัด)

download


ผู้เขียน/อ้างอิง : จักรกฤษณ์ แร่ทอง

ซอร์สโค๊ด/โอเพนซอร์ส

ความคิดเห็น/แนะนำ/ติชม/อื่นๆ

  • นายมนตรี เพชรเกษม [01 Mar 2005 , 10:10 AM]

    ผมอยากได้ โปรแกรม โครงสร้างข้อมูลทำงานโดยแปลง Infix to Posfix ที่แสดงขั้นตอนการด้วยครับมีหรือเปล่า คือมี infix steak posfix รับข้อมูล แสดงผล ผลลัพธ์

  • จำนงค์ ยอดมุณี [01 Mar 2005 , 01:44 PM]

    ผมอยากได้ โปรแกรม โครงสร้างข้อมูลทำงานโดยแปลง Infix to Posfix ที่แสดงขั้นตอนแต่ละขั้นตอน โดยมีคำตอบโชว์ตอนหลังและให้รับคีย์เพื่อคีย์โจทย์ใหม่ด้วย

  • จักรกฤษณ์ แร่ทอง [01 Mar 2005 , 02:48 PM]

    ลองดูขั้นตอนการทำงาน และ Algorithn ได้ที่ http://www.it-i-smartclub.com/cse102/lession/chapter5/stackinfix/stackInfix.files/frame.htm

  • เอ็นโปรเท็ค (หนุ่ย) [16 Jun 2005 , 09:22 PM]

    สำหรับเพื่อน ๆ ที่สนใจภาษาไพธอน สามารถศึกษาโค๊ดตัวอย่างต่อไปนี้เพื่อทำการแปลง Infix เป็น Postfix !! เพื่อน ๆ ที่ไม่เคยศึกษาเรื่องนี้อาจสงสัยว่าทำไมเราต้องแปลงมันด้วยล่ะ.. และมันอยู่ในองค์ความรู้เรื่องใด.. ผมขออธิบายพอเป็นสังเขปดังนี้ครับ.. ปกติการคำนวณทางคณิตศาสตร์ เราจะมีรูปแบบดังนี้.. 5+3*2/2 สมการเช่นนี้เราเรียกว่าอยู่ในรูป postการที่เราจะทำให้คอมพิวเตอร์สามารถคำนวณสมการเช่นนี้ เราจะแปลงให้อยู่ในรูปแบบอีกอย่างหนึ่ง คือ infix เมื่ออยู่ในรูป infix แล้ว เราสามารถนำมาคำนวณได้ โดยวิธีการทางสแต็ค เช่น เอาค่าออกมา หนึ่งครั้งมาเก็บไว้ก่อน แล้วนำมาคำนวณ บวก ลบ คูณ หาร แล้วเก็บค่าดังกล่าวเอาไปไว้ใน สแต็คอีกรอบ เช่น add 0x01,0x01 คำตอบคือ 0x02 ซึ่งผลลัพธ์จะเก็บไว้ใน accumulator (acc) อืม.. รู้สึกว่ามันจะยาวไปแล้ว.. ผมว่าพอก่อนดีกว่า เดี๋ยวจะปวดหัวกัน.. เอาเป็นว่า มันเป็นหลักการที่ทำให้สมการทางคณิตศาสตร์สามารถถูกคำนวณออกมาได้ .. และหลักการนี้ก็เป็นกลไกการทำงานของหน่วยคอมไพล์เลอร์อีกด้วยนะครับ เพราะแปลงรหัส infix ไปเป็นคำสั่ง แอสเซมบลี้ได้เลย ใช้เพียงคำสั่ง ของ instruction set พื้นฐานของโปรเซสเซอร์ล่ะครับ.. เอาเป็นว่า ผมจะเขียนเป็นบทความให้อ่านกันวันหลังดีกว่าครับ.. เพราะถ้ากล่าวตรงนี้คงจะยาวเกินไป.. โค๊ดตัวอย่างที่เขียนด้วยไพธอนอยู่ที่นีี่่ครับhttp://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/228915

  • chitchai [13 Jul 2005 , 12:53 PM]

    ผมอยากได้ โปรแกรม โครงสร้างข้อมูลทำงานโดยแปลง Infix to Posfix ที่แสดงขั้นตอนการด้วยครับมีหรือเปล่า คือมี infix steak posfix รับข้อมูล แสดงผล ผลลัพธ์

  • smileman_x [25 ม.ค. 2549 , 09:35 PM]

    ผมอยากได้โปรแกรม infix to postfix ที่เป็นภาษา java ช่วยหน่อยครับ

  • pim [08 ก.ย. 2549 , 11:44 AM]

    อยากได้การแปลง Infix to Posfix ในรูปแบบของ java จังเลยค่ะ

  • พิมลรัตน์ [08 ก.ย. 2549 , 11:47 AM]

    ดิฉันอยากได้โปรแกรม infix to postfix ที่เป็นภาษา java ช่วยหน่อยครับ

  • ปาริชาติ [31 ม.ค. 2550 , 09:11 AM]

    อยากการเขียนโปรแกรม infix to Posfix ด้วยภาษาเดลไฟล์ ว่ามีขั้นตอนการเขียนอย่างไร ช่วยบอกด้วยค่ะ

  • บิ๊ก กับ แจ๊ค [08 ก.พ. 2550 , 01:09 PM]

    เขียนโปรแกรม infix to Posfix ด้วยภาษาเดลไฟล์ ว่ามีขั้นตอนการเขียนอย่างไร ช่วยบอกด้วยค่ะ เอาเป็น พัน ๆ บะทัดเลย

  • warut sangtam [23 มี.ค. 2550 , 01:36 PM]

    ผมอยากได้ โปรแกรม โครงสร้างข้อมูลทำงานโดยแปลง Infix to Posfix ที่แสดงขั้นตอนการด้วยครับมีหรือเปล่า คือมี infix steak posfix รับข้อมูล แสดงผล ผลลัพธ์

  • kit [23 เม.ย. 2550 , 03:51 PM]

    ผมอยากได้การแปลง Infix to Posfix อ่ะคับ ช่วยเขียนเป็นตัวอย่างให้ดูอย่างง่ายได้ไหมคับ ขอเป็นภาษา Java นะคับ ^_^ ขอบคุณมากนะคับ ใครที่ได้ก็ช่วยบอกผมบ้างนะคับ ทำไม่ได้จิง

  • mai [20 มิ.ย. 2550 , 10:15 PM]

    แล้วถ้า postfix เป็น infix ละคับ ทำอย่างไรอะ

  • กังขา [06 ก.ย. 2551 , 11:21 AM]

    ทุกคนอย่างได้โปรแกรมต่าง ๆ มากมาย ต่าง Post กันลงมาแต่ไม่เห็นมีใครให้เลย ถ้าใครมีความสามารถก็น่าจะบอกมาได้นะ

  • pui [17 ส.ค. 2552 , 01:04 AM]

    จะเขียนโปรแกรมturbo c ให้เชื่อมกับฐานข้อมูลได้ต้องทามยางงายคะ ใครรู้ช่วยทำให้ดูหน่อยนะ เป็นโปรเจกจบเลยนะ

  • wita [08 ก.พ. 2553 , 10:50 AM]

    สวัสดีครับ คือผมเรียนภาษา c++ อยู่ อาจารย์ให้ไปหาโปรแกรมที่เกี่ยวกับโครงสร้างข้อมูลพร้อมทั้งอธิบายโค้ดด้วย จึงขอให้ผู้ที่มีความรู้ด้านนี้ช่วยผมหน่อยครับ ทั้งโค้ดและคำอธิบายโค้ดอย่างระเอียด นะครับ ด่วนมากๆเลยครับ ขอขอบคุณมากล่วงหน้าแล้วกันครับ

  • v [19 ก.ย. 2553 , 11:51 PM]

    import java.io.IOException; import java.util.Scanner; 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(); } 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 { Scanner infix = new Scanner(System.in); System.out.print("Enter Infix = "); String input = infix.nextLine(); String output; InToPost theTrans = new InToPost(input); output = theTrans.doTrans(); System.out.println("Postfix = " + 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); } } }