c
semoga bermanfaat..:)
/Nama : TEGUH FIRMANSYAH
//KELAS : TI 1
//NRP : 14512066
//PTM 4 : PROGRAM 4A
#include<stdio.h>
#include<conio.h>
#define n 31
char a[n], s[n], x;
int top, i, flag;
void PUSH(char x);
void POP(char x);
int main()
{ flag = 0;
clrscr();
printf("Inputkan Arithmetic Statement : ");
scanf("%s", a);
top = -1;
i = 0;
while(a[i] != NULL)
{ if (a[i] == '(' )
{ PUSH(a[i]); //simpan kurung buka di stack
if (flag == 1) //flag diubah di dalam PUSH
break;
}
else
{if(a[i] == ')' )
{ POP(a[i]); //ambil kurung buka dari stack
if (flag == 1) //flag diubah di dalam fungsi POP
break;
}
}
i++;
}
if(flag == 0)
{ if(top > -1)
printf("SALAH..Kurung buka tak ada pasangan");
else printf("BENAR");
}
getch();
return(0);
}
void PUSH(char x)
{ if (top < n-1)
{ top++;
s[top] = x;
}
else
{ printf("Stack penuh");
flag = 1;
}
}
void POP(char x)
{ if(top > -1)
{ x = s[top];
top--;
}
else
{ printf("Salah kurung tutup tidak ada pasangannya ");
flag = 1;
}
}
semoga bermanfaat..:)
/Nama : TEGUH FIRMANSYAH
//KELAS : TI 1
//NRP : 14512066
//PTM 4 : PROGRAM 4A
#include<stdio.h>
#include<conio.h>
#define n 31
char a[n], s[n], x;
int top, i, flag;
void PUSH(char x);
void POP(char x);
int main()
{ flag = 0;
clrscr();
printf("Inputkan Arithmetic Statement : ");
scanf("%s", a);
top = -1;
i = 0;
while(a[i] != NULL)
{ if (a[i] == '(' )
{ PUSH(a[i]); //simpan kurung buka di stack
if (flag == 1) //flag diubah di dalam PUSH
break;
}
else
{if(a[i] == ')' )
{ POP(a[i]); //ambil kurung buka dari stack
if (flag == 1) //flag diubah di dalam fungsi POP
break;
}
}
i++;
}
if(flag == 0)
{ if(top > -1)
printf("SALAH..Kurung buka tak ada pasangan");
else printf("BENAR");
}
getch();
return(0);
}
void PUSH(char x)
{ if (top < n-1)
{ top++;
s[top] = x;
}
else
{ printf("Stack penuh");
flag = 1;
}
}
void POP(char x)
{ if(top > -1)
{ x = s[top];
top--;
}
else
{ printf("Salah kurung tutup tidak ada pasangannya ");
flag = 1;
}
}
BACA JUGA CONTOH POP&PUSH C++ DISINI