Selasa, 04 Januari 2011

praktikum 9

#include
#include
#define maks 5

using namespace std;

class Queue{
friend ostream& operator<<(ostream&, const Queue&);
public:
Queue();
int penuh(int);
int kosong(int);
void cetak();
void enqueue(char);
char dequeue();
private:
char A[maks];
int banyak;
};

ostream& operator<<(ostream& out, const Queue& s)
{
cout<<”\nIsi Queue sebanyak : ” <<s.banyak<<” yaitu : “;
for(int i=0; i<s.banyak; i++)
out<<s.A[i]<<” “;
}

Queue::Queue()
{
banyak=0;
for(int i=0; i<maks; i++)
A[i]=’0′;
}

int Queue::penuh(int s)
{
return s==maks ? 1: 0;
}

int Queue::kosong(int s)
{
return s==0 ? 1:0;
}

void Queue::cetak()
{
cout<<”\nIsi Queue : “;
for(int i=0; i<banyak; i++)
cout<<A[i]<<” “;
}

void Queue::enqueue(char x)
{
cout<<”\n\nElemen : “<<x<<” masuk antrian”;
if(penuh(banyak))cout<x)tempat++;
if(banyak != tempat)
for(int i=banyak; i>=tempat; i–)
A[i+1]=A[i];
A[tempat]=x;
banyak++;
}
}

char Queue::dequeue()
{
char temp=A[--banyak];
cout< “<<temp;
A[banyak]=’0′;
return temp;
}

int main(int argc, char *argv[])
{
Queue p;
p.enqueue(‘a’);
cout<<p;
p.enqueue(‘b’);
cout<<p;
p.enqueue(‘d’);
cout<<p;
char a;
for (char c=1; c<2; c++) {
cout<<”\n\nInput antrian :” <>a;
p.enqueue (a);
cout<<p;
}
char q=p.dequeue ();
p.cetak();
cout<<”\n\nCetak pakai overloading:”<<p;

system(“PAUSE”);
return EXIT_SUCCESS;
}

praktikum 8

#include <cstdlib>
#include <iostream>
#define maks 5

using namespace std;
class Queue{
friend ostream& operator<<(ostream&, const Queue&);
public:
Queue();
int penuh(int);
int kosong(int);
void cetak();
void enqueue(char);
char dequeue();
private:
char A[maks];
int banyak;
};

ostream& operator<<(ostream& out, const Queue& s)
{ cout<<”\nIsi Queue:”;for(int i=0;i<s.banyak;i++)
out<<s.A[i]<<” “;
}

Queue::Queue(){
banyak=0;
for(int i=0;i<maks;i++)
A[i]=’0′;
}

int Queue::penuh(int s)
{ return s == maks? 1:0;}

int Queue::kosong(int s)
{ return s == 0?1:0;}

void Queue::cetak()
{ cout <<”\nIsi Queue:”;
for(int i=0;i<banyak;i++)
cout<<A[i]<<” “;
}

void Queue::enqueue(char x)
{
cout<<”\nElemen:”<<x<<” masuk antrian “;
if(penuh(banyak))cout<<” queue penuh “;
else if(A[0]==’0′){
A[0]=x;
banyak++;
}
else{
for(int i=banyak;i>=0;i–)
A[i+1]=A[i];
A[0]=x;
banyak++;
}
}

char Queue::dequeue()
{
char temp=A[--banyak];
cout<<”\nDequeue elemen –>”<<temp;
A[banyak]=’0′;
return temp;
}

int main(int argc, char *argv[])
{
Queue q;
for(char c=’a'; c<’g';c++){
q.enqueue(c);
cout<<q;
}
char p=q.dequeue();
q.cetak();
cout<<”\n\nCetak pakai overloading:”<<q;
system(“PAUSE”);
return EXIT_SUCCESS;
}

praktikum 7

#include <cstdlib>
#include <iostream>
#define maks 5
using namespace std;
class Stack{
friend ostream& operator<<(ostream&, const Stack&);
public:
Stack();
int penuh(int);
int kosong(int);
void cetak();
void push(char);
char pop();
private:
char A[maks];
int banyak;
};

ostream& operator<<(ostream& out, const Stack& s)
{
cout << “\nIsi stack : “;
for (int i=0;i< s.banyak;i++)
out << s.A[i] << ” “;
}

Stack::Stack(){
banyak = 0;
for (int i=0; i<maks; i++)
A[i] = ’0′;
}

int Stack::penuh(int s)
{
return s == maks ? 1 : 0;
}

int Stack::kosong(int s)
{
return s == 0 ? 1 : 0;
}

void Stack::cetak()
{
cout << “\nIsi stack :”;
for (int i=0;i< banyak;i++)
cout << A[i] << ” “;
}

void Stack::push(char x)
{
cout << “\nElemen masuk :” << x;
if (penuh(banyak)) cout << “Stack penuh”;
else if (A[0]==’0′){
A[0] = x;
banyak++; }
else {
for (int i=banyak; i>=0; i–)
A[i+1] = A[i];
A[0] = x;
banyak++; }
}

char Stack::pop()
{
cout <<”\nPop stack, elemen yang di-pop :” << A[0];
char temp=A[0];
for (int i=0;i<banyak; i++) A[i] = A[i+1];
A[banyak]= ’0′;
banyak–;
return temp;
}

int main(int argc, char *argv[])
{
Stack stack;
for (char c=’a'; c<’d'; c++){
stack.push(c);
stack.cetak();
}
char p = stack.pop();
stack.cetak();
cout << “\n\nCetak pakai overloading : ” << stack;
system(“PAUSE”);
return EXIT_SUCCESS;
}