#include "stdio.h"
char stack[20];
char kar[20];
int top=-1;
char temp,xx;
int valid=1;
void push(char put)
{
stack[top+1]=put;
top++;
}
void pop()
{
temp=stack[top];
top--;
}
void main()
{
printf("Masukkan karakter infix:");
scanf("%s",&kar);
for(int i=0;i<20;i++)
{
if(kar[i]=='(')
{
push(kar[i]);
}else if(kar[i]==')')
{
pop();
xx='(';
if(xx!=temp)
{
valid=0;
break;
}
}
}
if(valid==1)
{
printf("\nkarakter postfix=");
for(int j=0;j<20;j++)
{
if(kar[j]=='(' || kar[j]=='+' || kar[j]=='-' || kar[j]=='*' || kar[j]=='/' || kar[j]=='^')
{
push(kar[j]);
}
else if(kar[j]==')')
{
while(stack[top]!='(')
{
pop();
printf("%c",temp);
}
pop();
}
else if(kar[j]<1)
{
while(top!=-1)
{
pop();
printf("%c",temp);
}
break;
}else
{
printf("%c",kar[j]);
}
}
}
else
{
printf("tdk valid");
}
printf("\n\n\n\n");
}
Tidak ada komentar:
Posting Komentar