Pada postingan kali ini kita akan membuat sebuah program yang nantinya kata atau kalimat inputan dari user akan dibalik urutannya (bukan terbalik baca dari atas), program ini menggunakan konsep "Stack" atau tumpukan dimana memiliki prinsip FILO (First In Last Out), langsung saja kita simak source kodenya
source kode :
#include<stdio.h> #include<string.h> #include<iostream> #include<conio.h> #define Maxs 200 using namespace std; struct Tumpukan{ char Isi[Maxs]; int Atas; }T; void PUSH(char x){ if(T.Atas==Maxs){ //mengecek apakah stack sudah penuh atau belum cout<<"Stack Penuh..."; getch(); }else{ // T.Atas++; T.Atas=T.Atas+1; T.Isi[T.Atas]=x; } } char POP(){ //mengambil elemen dari stack char hasil; if(T.Atas==0){ cout<<"Stack kosong...."; hasil=' '; } else{ hasil=T.Isi[T.Atas]; T.Atas=T.Atas-1; } return hasil; } //program utama int main(){ char kalimat[Maxs]; T.Atas=0; cout<<"========Membalik Kalimat=======\n\n"; cout<<"Masukan Sembarang Kalimat: "; cin.getline(kalimat,200); cout<<"Kalimat Asli: "<<kalimat; for(int i=0; i<strlen(kalimat); i++){ PUSH(kalimat[i]); } cout<<"\nKalimat Setelah Dibalik: "; //mem POP sekaligus mencetak Stack for(int i=0; i<strlen(kalimat); i++){ cout<<""<<POP(); } getch(); }
outputnya akan seperti gambar tadi di awal, jika ada pertanyaan silahkan gunakan kolom komentar atau langsung hubungi saya dengan kontak yang tertera, semoga postingan ini menjadi referensi kalian. terima kasih