|
hasil compile program |
Mengisi (PUSH) stack
sampai PENUH, dan mengambil (POP) isi stack sampai KOSONG. Susun program
untuk menyiapkan array satu dimensi yang akan digunakan sebagai stack S
sebanyak 10 elemen, bertipe integer. Kemudian inputkan data (nilai
numerik) dan simpan (PUSH) ke stack S.
Proses input dan PUSH selesai bila data yang diinput bernilai = 999, atau stack S penuh.
(nilai
999 dipakai sebagai end of data, tidak ikut dipush ke stack S). setelah
itu dikeluarkan (POP) isi stack dan cetak ke layar satu persatu sampai
stack menjadi KOSONG.
program tersebut bisa dilihat seperti berikut :
#include<stdio.h>
#include<conio.h>
void main()
{
char A[10];
int dpn,blk;
int cek;
int z;
dpn=0;
blk=-1;
stack_haji:
clrscr();
fflush(stdin);
printf("1. Tambah Data STACK\n");
printf("2. Tampilan Data STACK\n");
printf("3. Hapus Isi STACK\n");
printf("4. KELUAR PROGRAM\n");
printf("Pilihan : ");
//cek=getche();
scanf("%d",&cek);
switch (cek)
{
case 1:
if(blk==9)
{
fflush(stdin);
printf("Data Penuh\n");
getchar();
goto stack_haji;
}
else
{
fflush(stdin);
blk++;
printf("\n INPUT DATA :");
//A[blk]=getche();
//gets(A[blk]);
scanf("%s",&A[blk]);
getchar();
goto stack_haji;
}
break;
case 3:
if(dpn>blk)
{
fflush(stdin);
printf("Data Kosong\n");
getchar();
goto stack_haji;
}
else
{
fflush(stdin);
for(int v=0;v<=blk;v++)
{
A[v]=A[v+1];
}
blk--;
printf("Penghapusan Berhasil\n");
getchar();
goto stack_haji;
}
break;
case 2:
if (dpn>blk)
{
fflush(stdin);
printf("KOSONG\n");
getchar();
goto stack_haji;
}
else
{
fflush(stdin);
printf("\n\nTersimpan %i Stack\n",(blk+1)-dpn);
for(z=0; z<=blk; z++)
{
printf(" %c \n",A[z]);
}
printf("\n\n");
getchar();
goto stack_haji;
}
break;
default :
{
clrscr();
printf("\n SELESAI\n");
}
break;
}
}
0 komentar:
Speak up your mind
Tell us what you're thinking... !