Program Stack Konversi Aritmatika Postfix ke Infix dalam Bahasa C#

5

Pada postingan sebelumnya sudah dijelaskan tentang STACK Dalam Bahasa C#, untuk kali ini kita akan membuat Program STACK Konversi Aritmatika Postfix ke Infix dalam Bahasa C#.

Untuk praktiknya menggunakan aplikasi Devcpp.

DOWNLOAD DISINI : DEVCPP

//ylx-4.com/fullpage.php?section=General&pub=139976&ga=g

Misalkan saja soalnya seperti berikut :

  1. Diberikan sebuah ekspresi aritmatik postfix dengan operator [‘.’;’:’;’+’;’-‘;’^’] dan operator mempunyai prioritas (prioritas makin besar artinya makin tinggi) sebagai berikut :
Operator Arti Prioritas
^ Pangkat 3
/ * Bagi, kali 2
+ – Tambah, kurang 1

Contoh  :

Ekspresi Arti
AB*C/ A*B/C
ABC^/DE*+AC*- A/B^C+D*E-A*C

Tuliskan programnya dan gunakan stack.

Untuk membuat Program STACK Konversi Aritmatika Postfix ke Infix cukup menggunakan 1 file header, yaitu :

1. Postfix.c

#include <stdio.h>
#include <string.h>
#define KONVERSI 100
#include <stdlib.h>
char operator[] = {‘^’, ‘/’, ‘*’, ‘+’, ‘-‘, ‘(‘, ‘)’};
char stack[KONVERSI][KONVERSI];
int top = -1;
void push(char *substr) {
char *temp;
if (top >= KONVERSI -1) {
printf(“Stack Penuh\n”);
} else {
top++;
strcpy(stack[top], substr);
}
return;
}
void pop(char *res) {
if (top == -1) {
printf(“Stack Kosong\n”);
return;
} else {
strcpy(res, stack[top]);
top–;
}
return;
}
int main() {
char expr[KONVERSI], buffer1[KONVERSI], buffer2[KONVERSI];
int i, j, len, flag = 0;
printf (“*** PROGRAM KONVERSI POSTFIX KE INFIX sugihpamela.pe.hu ***\n\n”);
printf(“Masukkan Ekspresi:”);
fgets(expr, 100, stdin);
expr[strlen(expr) – 1] = ‘\0’;
for (i = 0; expr[i] != ‘\0’; i++) {
if (expr[i] == ‘ ‘)
continue;
for (j = 0; j < 6; j++) {
if (expr[i] == operator[j]) {
flag = 1;
break;
}
}
if (flag) {
pop(buffer1);
pop(buffer2);
len = strlen(buffer2);
buffer2[len++] = expr[i];
buffer2[len] = ‘\0’;
strcat(buffer2, buffer1);
push(buffer2);
} else {
buffer1[0] = expr[i];
buffer1[1] = ‘\0’;
push(buffer1);
}
flag = 0;
}
printf(“Postfix Konversi ke Infix:\n”);
printf(“Posfix: %s\n”, expr);
printf(“Infix: “);
for (i = 0; i <= top; i++) {
printf(“%s”,stack[i]);
}
printf(“\n\n”);
return 0;
}

Hasil

da

juy

Jika programnya tidak jalan, kemungkinannya tanda kutipnya error, karena beda font, atau bisa langsung saja download programnya.

DISINI

//ylx-4.com/fullpage.php?section=General&pub=139976&ga=g

Semoga Bermanfaat🙂

key :
Program Konversi Postfix ke Infix Dalam Bahasa C#
Program Atitmatika Postfix keInfix Dalam Bahasa C#
Program Postfix To Infix Dalam Bahasa C#

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s