Kamis, 31 Juli 2025

C++ SAMPLE CODE 16c

 #include<iostream>

#include<algorithm>

using namespace std;


int main()

{ 

   int S[8] = {2, 4, 5, 1, 3, 6, 7, 9};

   int A[8] = {12, 13, 14, 15, 5, 6, 7, 24} ;


   iter_swap (S+4, A+3);


   for (int i = 0; i<8; i++)

      cout << S[i] <<" ";

   cout<<"\n";


   for (int j = 0; j<8; j++)

      cout<< A[j] <<" ";

   cout<<"\n";


   return 0 ;

}

==========================

#include<iostream>

# include<algorithm>

using namespace std;


int main()

{

   char S1[] = "AA";

   char S2[] ="ZZ";

   char B[] = "hitung";

   char C[] ="hitungan";


   bool b1 =lexicographical_compare(S1, S1+1, S2, S2+1);

   cout<<"b1 = "<< b1<<endl;


   bool b2 =lexicographical_compare(S2, S2+1 ,S1, S1+1 );

   cout<<"b2 = "<< b2<<endl;


   bool b3 = lexicographical_compare(S1, S1+1, S1, S1+1);

   cout<<"b3 = "<<b3<<endl;


   bool b4 = lexicographical_compare(B, B+6, C, C+9);

   cout<<"b4 = "<< b4<<endl;


   return 0 ;

}

==========================

#include<iostream>

#include<algorithm>

using namespace std;


int main()

{ 

   int S1[] = {11, 12, 13, 16, 16, 19, 20, 20, 20, 22, 24};


   int* ptr1 = lower_bound(S1, S1+11, 20);

   cout <<"lower_bound untuk 20 = "<< (int*)ptr1 - S1 <<endl;


   int* ptr2 = lower_bound(S1, S1+11, 16);

   cout <<"lower_bound untuk 16 = "<< (int*)ptr2 - S1 <<endl;


   int *uptr1 = upper_bound (S1, S1+11, 16);

   cout <<"upper_bound dari 16 = "<< (int*)uptr1 - S1 <<endl;


   int* uptr2 = upper_bound (S1, S1+11, 20);

   cout <<"upper_bound dari 20 = "<< (int*)uptr2 - S1 <<endl;


   return 0 ;

}


================================
#include<iostream>
#include<algorithm>
using namespace std;

int main()
{
   int S[13] = {10, 12, 22, 24, 34, 51, 71, 13, 16, 177, 106, 6, 7};

   make_heap(S, S+13);

   for ( int i =0; i<13; i++)
      cout << S[i] <<" ";
   cout<<"\n";

   return 0;
}
============================
#include<iostream>
# include<algorithm>
using namespace std;

int main()
{ 
   int S1[] = {10, 12, 40};
   int S2[] = {34, 51, 71, 106, 177};
   int A[8];
   int B[6];

   merge(S1, S1+3, S2, S2+5, A);

   for (int i =0; i<8 ;i++)
      cout<< A[i]<<" ";
   cout<<"\n";

   merge(S2, S2+4, S1, S1+2, B);

   for (int k =0; k<6 ;k++)
      cout<< B[k]<<" ";
   cout<<"\n";

   return 0 ;
}
==================================
#include<iostream>
# include<algorithm>
using namespace std;

int main()
{
   int S1[] = {19, 20, 11, 12, 113, 216};

   cout<< *min_element(S1, S1+6) <<endl; //nilai dari elemen minimum

   const int *ptr = min_element(S1, S1+6);
   cout<< (int*)ptr - S1 <<endl;  //indeks dari elemen minimum

   return 0 ;
}
======================
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
   char S1[] = "Komputer, Komputar, Komputor";
   char S2[] = "Komputer, Komputer, Komputer";
   int m = strlen(S1);

   pair<char*, char*> p = mismatch( S1, S1+m, S2);

   char* S1ptr= p.first;
   char* S2ptr= p.second;

   cout<<"Panjang = "<< m <<endl;
   cout<<"Lokasi pertama dari ketidakcocokan di dalam string S1 adalah pada "<<S1ptr - S1<<endl;
   cout<<"Lokasi pertama dari ketidakcocokan di dalam string S2 adalah pada "<<S2ptr - S2<<endl;

   return 0;
}
============================
#include <iostream>
#include<algorithm>
using namespace std;

void main()
{
   char A[5] = "XYZ";

   for( int k =0; k<6;k++)
   { 
      next_permutation(A, A+3);
      cout<<A<<" ";
   }
   cout<<"\n";
}
========================
#include<iostream>
#include<algorithm>
using namespace std;

int main()
{
   int S[10] = {10, 12, 22, 24, 34, 51, 171, 13, 16, 170};

   nth_element(S, S+4, S+10);

   for (int i =0; i<10; i++)
      cout << S[i] <<" ";
   cout<<"\n";

   return 0 ;
}

C++ SAMPLE CODE 16b

 #include<iostream>

#include<algorithm>

#include<vector>

using namespace std;


int main()

{

   vector<int> V;

   int S[9] = {15, 20, 30, 40, 50, 60, 70, 80, 90};


   for(int i =0; i < 9; i++)

   V.push_back (S[i]);


   int m = 5;

   fill_n (V.begin(), V.size()/3 , m );


   for (int k =0; k<V.size(); k++)

      cout << V[k] << " ";

   cout<<"\n";


   int n = 10;

   fill ( V.begin(), V.end(), n );


   for (int j =0; j<V.size(); j++)

      cout << V[j] <<" ";


   cout<<"\n";

   return 0 ; 

}

===================================

#include<iostream>

#include<algorithm>

#include<vector>

using namespace std;


int main()

{ 

   vector<int> V;

   int S[7] = { 10,20, 24 ,30, 35, 36, 70};


   for(int i =0; i < 7 ;i++)

      V.push_back (S[i]);


   int n = 24;

   vector <int> ::iterator iter;

   iter = find(V.begin(), V.end(), n);


   if (iter != V.end())

      cout <<"Nilai "<<n<<" adalah sebuah elemen dari vektor V."<<endl;

   else

      cout<<"Nilai "<< n<<"bukan elemen dari vektor V.\n";


   return 0 ;

}

==================================

#include<iostream>

#include<algorithm>

#include<vector>

using namespace std;


int main()

{ 

   vector<int> V;

   int S[12] = {10, 20, 25, 26, 27, 36, 20, 25, 26, 27, 70, 90};


   for(int i =0; i < 12 ;i++)

      V.push_back (S[i]);


   int Runtun1_Ditemukan[] = {20, 25,26,27};

   vector<int>:: iterator iter;


   iter = find_end( V.begin(), V.end(), Runtun1_Ditemukan, Runtun1_Ditemukan + 3);


   if ( iter != V.end())

      cout<<"Elemen terakhir pada Runtun1_Ditemukan pada posisi "<< *iter <<endl;

   else

      cout<<"Tidak ada Runtun1_Ditemukan di dalam vektor V."<<endl;


   int Runtun2_Ditemukan[] = {20, 4,26 };

   iter = find_end( V.begin(), V.end(), Runtun2_Ditemukan, Runtun2_Ditemukan + 2);


   if ( iter != V.end())

      cout<<"Elemen terakhir pada Runtun2_Ditemukan pada posisi "<< *iter <<endl;

   else

      cout<<"Tidak ada Runtun2_Ditemukan di dalam vektor V."<<endl;


   return 0 ;

}

==============================

#include<iostream>

#include<algorithm>

using namespace std;


int main()

{

   int *Cari;

   int S[9] = {1, 6, 2, 3, 4, 5, 6, 7, 8};

   int S2[] = {5, 6, 7};


   Cari = find_first_of(S, S+9, S2, S2+3);


   if(Cari != S+9) //jika tidak ada kesesuaian, pointer menunjuk ke akhir runtun

      cout<<"Ditemukan kecocokan: "<< *Cari<<endl;


   return 0 ;

}

==============================

#include<iostream>

#include<algorithm>

#include<functional>

using namespace std;


int main()

{

   int S[] = {5, 6, 3, 7, 8, 3, 8, 10, 8, 12};

   int* n = find_if(S, S+10, bind2nd(greater<int>(),7));


   cout<<"*n = "<< *n<<endl;

   cout <<"Posisi dari elemen = elemen ke-"<<n + 1 - S<<endl;


   return 0;

}

===========================

#include<iostream>

#include<algorithm>

#include<functional>

using namespace std;


void Kali(int &x)

{

cout<<10*x<<" ";

}


int main()

{ 

   int S1[] = {5, 6, 8, 7, 4, 3, 8, 10, 11, 12};


   for_each (S1, S1+10, Kali);

      cout<<"\n";


   return 0;

}

==============================

#include<iostream>

#include<algorithm>

using namespace std;


void Tampil(int x)

{

   cout<<x<<" ";

}


int main()

{ 

   int S[8] = { 0 };

   generate (S, S+8, rand);


   for ( int i =0; i<8; i++)

      Tampil(S[i]%100);

   cout<<"\n";


   int B [6] = {0};

   generate_n(B , 6, rand);


   for(int j =0; j<6; j++)

      Tampil(B[j]);

   cout<<"\n";

   

   return 0 ;

}

===================================

#include<iostream>

#include<algorithm>

using namespace std;


int main()

{ 

   int S[8] = { 5,6,7,8,9,11,12,13 };

   int A [9]= { 5,6,7,8, 21,22,23,24,25};

   bool B ;


   B = includes(S, S+8, A, A+4); //menguji apakah A sampai A+4 ada di dalam S


   if (B)

      cout <<"Runtun S memuat A[0] sampai A[3]"<< endl;

   else

      cout <<"Runtun S tidak memuat A[0] sampai A[3]"<< endl;


   return 0 ;

}

===================================

#include<iostream>

#include<numeric>

using namespace std;


int main()

{ 

   int S[7] = { 6,4,8,9,10,20,10};

   int A[7] = { 2,2,2,2,2,2,2};

   int n = 20;


   //Nilai dari n menginisialisasi inner_product.

   int hasilPerkalianDalam = inner_product(S ,S+7, A, n);


   cout<<"Hasil perkalian dalam dari elemen-elemen S dan A ditambah "<<n<<" = "

   <<hasilPerkalianDalam<<endl;


   return 0 ;

}

===========================

#include<iostream>

#include<algorithm>

using namespace std;


int main()

{

   int S[8] = {2, 4, 5, 1, 3, 6, 7, 9};

   int A[8] = {12, 13, 14, 15, 5, 6, 7, 24};


   inplace_merge(S, S+3, S+8);

   inplace_merge(A, A+4, A+8);


   for(int i =0; i<8; i++)

   cout << S[i] <<" ";

   cout<<"\n";


   for ( int j =0; j<8; j++)

      cout<< A [j] <<" ";

   cout<<"\n";


   return 0 ;

}


C++ SAMPLE CODE 16a

 #include<iostream>

#include<numeric>

using namespace std;


int main()

{ 

    int S[8] = {1, 2, 3, 4, 5, 6, 7, 8};


    int jum_empat = accumulate( S , S+4, 0); //nilai awal adalah 0

    cout<< "Penjumlahan atas 4 elemen pertama = " << jum_empat<<endl;


int jum_semua = accumulate( S , S+8, 0);

    cout << "Penjumlahan atas semua elemen = " << jum_semua<<endl;


    cout<<"Penjumlahan atas semua elemen + 100 = "<<accumulate(S,S+8,100)<< endl;

    // nilai awal adalah 100.


cout<<"Penjumlahan atas semua elemen - 100 = " <<accumulate(S,S+8,-100)<< endl;

    // nilai awal adalah -100.


return 0 ;

}

=================================

#include<iostream>

#include<numeric>

using namespace std;


int main()

{

    int S[5] = {5, 20, 40, 80, 160};

    int A[5];


    adjacent_difference( S, S+5, A); // A adalah runtun lain.


    for (int i =0; i<5;i++)

      cout<< A[i]<<" ";


    cout <<"\n";

    return 0 ;

}

========================================

#include<iostream>

# include<algorithm> //mencantumkan file header <algorithm>

#include<vector> //mencantumkan file header <vector>

using namespace std;


int main()

{

    vector<int> V;

    int S[6] = { 10, 20, 40, 40, 50, 60};


    for(int i =0; i < 6 ;i++)

        V.push_back (S[i]); //menciptakan vektor.


    int *Cari = adjacent_find ( V.begin(), V.end() );


    // Cari adalah iterator dan *Cari adalah nilai elemen.

    if ( Cari == V.end())

{

        cout<<"Tidak ditemukan"<<endl; }

    else

      cout<<"Ditemukan kecocokan dimulai dari "<<*Cari <<endl;


    return 0 ;

}

====================================

#include<iostream>

# include<algorithm>

#include<vector>

using namespace std;


int main()

{

    vector<int> V;

    int S[7] = { 10,20,30 ,36, 44, 60, 70};

int n = 36;


    for(int i = 0; i< 7 ; i++)

        V.push_back (S[i]);


    bool B = binary_search(V.begin(), V.end(), n);


    // di sini 36 adalah nilai yang dicari.

    if ( B!=0)

        cout<<"Nilai "<<n<<" dimuat di dalam vektor V."<<endl;

    else

        cout<<n<<"Nilai yang dicari tidak ada di dalam vektor V."<<endl;


    return 0 ;

}

==================================

#include<iostream>

#include<algorithm>

using namespace std;


int main()

{

    int S[11] = { 10,20,30 ,36, 44, 60, 70, 80, 90,100,110};

    int A[6];


    copy(S+2, S+8, A); // A adalah tujuan


    cout<<"Elemen-elemen dari A adalah sebagai berikut:\n";

    for(int i =0; i< 6; i++)

{

        cout << A [i] <<" ";

}


    cout<<"\n";

    return 0 ;

}

=================================

#include<iostream>

#include<algorithm>

using namespace std;


int main()

{ 

    int S1[10] = { 1,2,3,4,5,6,7,8,9,10};

    int S2[10] = {0};

    int S3[10] = {0};


    cout <<"S1 adalah: ";

    for (int i =0 ; i<10; i++)

        cout<<S1[i]<<" ";


    cout <<"\nS2 adalah: ";

    copy(S1, S1+10, S2);

    for(int n =0; n<10; n++)

        cout <<S2[n]<<" ";


    copy_backward(S1, S1 + 6, S3+10);

    cout<<"\nS3 adalah: ";

    for ( int j = 0; j< 10 ; j++)

        cout<<S3[j]<<" ";


    cout<<"\n";

    return 0;

}

==============================

#include<iostream>

#include<algorithm>

#include<vector>

using namespace std;


int main()

{

    vector<int> V;

    int S[8] = {10, 20, 24, 36, 24, 24, 70};


    for(int i =0; i < 6 ;i++)

        V.push_back (S[i]);


    int n = 24;

    int m = count( V.begin(), V.end(), n);

    cout<<"Jumlah elemen dengan nilai "<<n<<" di dalam V adalah = "<< m <<endl;


    return 0; 

}

======================================

#include<iostream>

#include<algorithm>

#include<functional> //Ini diperlukan untuk predikat.

using namespace std;


int main()

{

    int S[ ] = {5, 6, 8, 7, 8, 3, 8, 10, 8, 12};

    int n= count_if(S, S+10, bind2nd(greater<int>(),7));

    //n adalah jumlah elemen yang nilainya lebih besar dari 7 di dalam S

    cout<<"Jumlah elemen dari S yang nilainya >7 adalah = "<<n<<endl;


    int m = count_if(S, S+10, bind2nd(less<int>(),10));

    // m adalah jumlah elemen yang nilainya kurang dari 10

    cout<<"Jumlah elemen dari S yang nilainya < 10 adalah = "<<m <<endl;


    return 0;

}

===============================

#include<iostream>

#include<algorithm>

#include<vector>

using namespace std;


int main()

{

   vector<int> V1;

   int S1[6] = {10, 13, 25, 36, 25, 50};


   for(int i =0; i < 6 ;i++)

      V1.push_back (S1[i]);


   vector<int> V2;

   int S2[6] = {10, 13, 25, 36, 25, 25};


   for(int j =0; j < 6 ;j++)

      V2.push_back (S2[j]);


   int S3 [] = {11,12,13, 4,5,11,12,13};

   vector<int> V3;


   for ( int k =0; k<8 ; k++)

      V3.push_back ( S3[k]);


   if (equal( V3.begin(), V3.begin()+4, V3.begin()+5));

      cout <<"Dua subhimpunan yang memuat empat nilai adalah sama."<<endl;

   if(equal( V1.begin(), V1.end(), V2.begin ()))

      cout<<"Dua vektor sama." <<endl;

   else

      cout<<"Dua vektor tidak sama."<<endl;


   return 0 ;

}

===========================

#include<iostream>

#include<algorithm>

#include<vector>

using namespace std;


int main()

{ 

   vector<int> V;

   int S[8] = {10, 20, 24, 24, 24, 36, 70};


   for(int i =0; i < 6 ;i++)

      V.push_back (S[i]);


   int n = 24;

   pair <vector<int>::iterator, vector<int>::iterator> Rentang;

   Rentang = equal_range (V.begin(), V.end(), n);


   cout<<"Rentang sama diawali setelah "<<*( Rentang.first - 1) <<" dan berakhir sebelum "

       <<*(Rentang.second )<<endl;


   return 0 ;

}

==============================

C++ SAMPLE CODE 15

 #include<iostream>

#include<bitset>

using namespace std;


void main ()

{

   short int p = 75;

   short k = -75;

   unsigned int n = 285;

   unsigned long m = 24567854;


   bitset<8> Bitset1(p), Bitset2(k), Bitset3('B');

   bitset<16> Bitset4(n);

   bitset<24> Bitset5 (m);


   cout<<"Bit set untuk "<<p <<" adalah : "<<Bitset1<<endl;

   cout<<"Bit set untuk "<<k <<" adalah : "<<Bitset2<<endl;

   cout<<"Bit set untuk "<<'B'<<" adalah : "<<Bitset3<<endl;

   cout<<"Bit set untuk "<<n <<" adalah : "<<Bitset4 <<endl;

   cout<<"Bit set untuk "<<m <<" adalah : "<<Bitset5 <<endl;

}

=====================

#include<iostream>

#include<bitset>

using namespace std;


void main ()

{ 

   unsigned long n = 85;

   unsigned long m = 456;


   bitset<16> Bitset1(n);

   bitset<16> Bitset2(m);


   cout<<"Bit set untuk "<<n <<" adalah: \n";

   for (int i = (long) Bitset1.size()-1 ; i>= 0 ; i--)

      cout<<Bitset1[i]<<" ";


   cout<<"\nBit set untuk "<< m<<" adalah: \n";

   for (int j = (long) Bitset2.size()-1; j>=0 ; j--)

      cout<<Bitset2[j]<<" ";

   cout <<"\n";

}

===============================

#include<iostream>

#include<bitset>

using namespace std;


int main ()

{

   unsigned int n = 185;

   unsigned int m = 200;


   bitset<12> Bset1((int) n);

   bitset<12> Bset2((int) m);


   cout<<"Bset1 untuk "<<n <<" adalah = "<<Bset1<<endl;

   cout<<"Bset2 untuk "<< m<<" adalah = "<<Bset2<<endl;

   cout<<"Bset1 OR Bset2 = "<<(Bset1 | Bset2)<<endl;

   cout<<"Bset1 AND Bset2 = "<<(Bset1 & Bset2 )<<endl;

   cout<<"Bset1 XOR Bset2 = "<<(Bset1 ^ Bset2 )<<endl;

   cout<<"Komplemen dari Bset1 = "<< ~ Bset1 <<endl;


   return 0;

}


==========================
#include<iostream>
#include<bitset>
using namespace std;

int main ()
{
   unsigned int n = 185;
   int m = 200;

   bitset<12> Bset1((int) n);
   bitset<12> Bset2((int) m);

   cout <<"Bset1 awal untuk "<<n <<" adalah = "<<Bset1<<endl;
   cout <<"Bset2 awal untuk "<< m<<" adalah = "<<Bset2<<endl;
   cout <<"Bset1 baru = Bset1 |= Bset2 = "<<(Bset1 |= Bset2)<<endl;
   cout <<"Bset1 baru = Bset1 &= Bset2 = "<<(Bset1 &= Bset2 )<<endl;
   cout <<"Bset1 baru = Bset1 ^= Bset2 = "<<(Bset1 ^= Bset2 )<<endl;
   cout <<"Bset2 dibalik = ~ Bset2 = "<< ~Bset2 <<endl;

   return 0;
}
=========================
#include<iostream>
#include<bitset>
using namespace std;

void main ()
{
   unsigned int n = 185 ,m = 221 ;

   bitset<16> Bset1(n);
   bitset<16> Bset2(m);

   cout <<"Bit set untuk "<<n <<" adalah = "<< Bset1 <<"\n";
   cout <<"Setelah pergeseran kanan sejauh 4 bit"<<endl;
   cout<<"Bset1 = "<<(Bset1 >>= 4)<<endl;  //pergeseran kanan dan penugasan

   cout <<"Bit set untuk "<< m<<" adalah = "<< Bset2<<endl ;
   cout <<"Setelah pergeseran kiri sejauh 3 dijit"<<endl;
   cout<<"Bset2 = "<< (Bset2 <<= 3)<<endl; //pergesaran kiri dan penugasan

   if (Bset1 == Bset2) //memeriksa ekualitas
      cout<<"Bset1 dan Bset2 sama"<<endl;
   else
      cout<<"Bset1 dan Bset2 tidak sama"<<endl;
}
====================================
#include<iostream>
#include<bitset>
using namespace std;

void main ()
{
   unsigned int n = 125, m = 11765, p = 0;

   bitset<16> Bset1(n);
   bitset<16> Bset2(m);
   bitset<16> Bset3(p);

   cout <<"Bset3 = "<<Bset3<<endl;
   cout<<"Jumlah bit 1 di dalam Bset3 = "<<Bset3.count()<<endl;

   if (Bset3.any())
      cout<< "ya, ada bit 1 di dalam Bset3"<<endl;
   else
      cout<<"tidak ada bit 1 di dalam Bset3"<<endl;

   if (Bset3.none())
      cout<<"Tidak ada bit 1 di dalam Bset3"<<endl;
   else
      cout<<"Ada bit 1 di dalam Bset3"<<endl;

   cout <<"Bit set untuk "<<n <<" adalah = "<< Bset1<<endl ;
   
   Bset1.reset(5);
   cout <<"Setelah mereset bit ke-6, Bset1 menjadi = "<<Bset1<<"\n";
   
   cout <<"Bit set untuk "<< m<<" adalah = "<<Bset2<<endl ;
   
   cout<<"Jumlah bit 1 di dalam Bset2 = "<<Bset2.count()<<endl;
   
   Bset2.set (3);
   cout <<"Setelah menetapkan bit ke-4 menjadi 1, Bset2 menjadi = "<<Bset2<<endl ;
}
===========================
#include<iostream>
#include<bitset>
using namespace std;

void main ()
{
   unsigned int n = 1123 ,m = 12758;

   bitset<16> Bset1(n);
   bitset<16> Bset2(m);

   cout <<"Bit set untuk "<<n<<" adalah \n";
   cout <<Bset1 <<"\n";

   cout <<"Ukuran dari bit set = "<<Bset1.size()<<endl;

   cout <<Bset2<<endl ;
   cout<<"Nilai ekivalen dengan Bset2 = "<<Bset2.to_ulong()<< endl;

   cout<< Bset2.any()<<endl;
}
==============================
#include<iostream>
#include<bitset>
using namespace std;

void main ()
{
   unsigned int n = 1123, m = 12758;

   bitset<16> Bset1(n);
   bitset<16> Bset2(m);

   cout <<"Bit set untuk "<<n <<" adalah \n";
   cout <<Bset1<<"\n";

   cout <<"Kebalikan dari bit set = "<<Bset1.flip()<<endl;

   cout <<Bset1.none()<<endl;
   cout <<Bset2<<endl ;

   cout<<"Apakah kedua bit set sama?"<<endl;
   if (Bset1 == Bset2)
      cout <<"Ya"<<endl;
   else
      cout <<"Tidak"<<endl;

   cout<<"Apakah kedua bit set tidak sama?"<<endl;
   if (Bset1 != Bset2)
      cout <<"Ya"<<endl;
   else
      cout <<"Tidak"<<endl;
}
============================
#include<iostream>
#include<bitset>
using namespace std;

void main ()
{
   unsigned int n = 125 ,m = 11765;

   bitset<16> Bset1(n);
   bitset<16> Bset2(m);

   cout<<"Bit set untuk "<<n<<" adalah Bset1 = "<< Bset1<<endl;

   cout<<"Uji bit 5. Bit ke-5 = "<<Bset1.test(4)<<"\n";

   Bset1.reset(4);
   cout<<"Setelah menetapkan bit ke-5 menjadi 0 (reset) = "<<Bset1.test(4)<<endl;

   cout<<"Bit set untuk "<<11765 <<" adalah Bset2 = "<<Bset2<<endl ;

   cout<<"Uji bit 10. Bit ke-10 = "<<Bset2.test(9)<<endl;

   Bset2.set(9) ;
   cout<< "Setelah menetapkan bit ke-10 menjadi 1 (set) = " <<Bset2.test(9)<<endl;
}

C++ SAMPLE CODE 14

 #include<iostream>

using namespace std;

#include <set>

#include <iterator>


const int n = 8,m = 5;


int main()

{ 

   char ch [m] = {'A', 'D', 'E', 'C', 'B'};

   int AR1[n] = { 65, 72, 67, 69, 71, 68, 66, 70 };


   set<int> Set1( AR1, AR1+7); //set dikonstruksi dengan sebuah array

   set<char> Set3(ch, ch+5); //set dikonstruksi dengan sebuah array

   set<int> Set2 (Set1); //Set2 dikonstruksi sebagai salinan dari Set1

   set<int>:: iterator itr; //deklarasi dari iterator untuk int set


   cout<<"Elemen-elemen Set1 adalah: ";

   //berikut adalah statemen keluaran untuk set1

   for( itr = Set1.begin(); itr!= Set1.end(); itr++)

      cout<< *itr<<" ";

   cout<<endl;


   cout<<"Elemen-elemen Set2 adalah: ";

   //berikut adalah statemen keluaran untuk set2

   for( itr = Set2.begin(); itr!= Set2.end(); itr++)

      cout<< *itr<<" ";

   cout<<endl;


   cout<<"Elemen-elemen Set3 adalah: ";

   set<char>:: iterator iter; //deklarasi dari iterator

   for( iter = Set3.begin(); iter!= Set3.end(); iter++)

      cout<< *iter<<" "; // statemen keluaran untuk set3

   cout<<endl;


   return 0;

}

=======================================

#include<iostream>

using namespace std;

#include <set>


int main()

{ 

   int G[8] = {100, 78, 34, 34, 34, 20, 104, 78 };


   set <int> S1(G, G+8) ; //Elemen-elemen G sampai G+8 dimasukkan

   set <int> S2(G, G+5) ; //Elemen-elemen G sampai G+5 dimasukkan


   cout <<"Ukuran dari S1 = "<<S1.size()<<endl ;

   cout <<"Ukuran dari S2 = "<<S2.size()<<endl;


   cout<<"Jumlah elemen dengan nilai 34 = "<<S1.count(34)<<endl;

   cout<<"Lower_bound dari 35 di dalam S1 = "<< *(S1.lower_bound(35))<<endl;


   cout <<"Elemen-elemen dari S1 adalah: ";

   set<int> :: iterator iter;

   for (iter = S1.begin(); iter != S1.end(); iter++)

      cout<<*iter <<" ";


   cout<<"\nElemen-elemen S2 adalah: ";

   for (iter = S2.begin(); iter != S2.end(); iter++)

      cout<<*iter <<" ";


   S2.swap(S1); //menukas S2 dengan S1

   cout <<"\nSetelah penukasan\n";

   cout <<"Elemen-elemen dari S1 adalah: ";

   for ( iter = S1.begin(); iter != S1.end(); iter++)

      cout<<*iter <<" ";


   cout<<"Elemen-elemen dari S2 adalah: ";

   for ( iter = S2.begin(); iter != S2.end(); iter++)

      cout<<*iter <<" ";


   S2.clear();

   if (S2.empty())  //menguji apakah masih ada elemen di dalam set.

      cout<<"\nSetelah operasi clear(), S2 menjadi kosong.\n";


   return 0;

}

========================================

#include<iostream>

using namespace std;

#include<set>


typedef std::set<int, std::greater<int>> Inset;

//std:: greater <int> untuk pengurutan menurun

//std::less untuk pengurutan menaik.



int main()

{ 

   int G[8] = {100, 78, 34, 34, 34, 20, 104, 78};


   Inset S1(G, G+8); //Elemen-elemen G sampai G+8 dimasukkan

   Inset S2(G, G+5); //Elemen-elemen G sampai G+5 dimasukkan


   cout <<"Ukuran dari S1 = "<<S1.size()<<endl;

   cout <<"Ukuran dari S2 = "<<S2.size()<<endl;


   cout<<"Jumlah elemen dengan nilai 34 = "<<S1.count(34)<<endl;

   cout<<"Lower_bound dari 35 di dalam S1 = "<< *(S1.lower_bound(35))<<endl;


   cout <<"Elemen-elemen dari S1 adalah: ";

   Inset :: iterator iter;

   for (iter = S1.begin(); iter != S1.end(); iter++)

      cout<<*iter <<" ";


   cout<<"\nElemen-elemen S2 adalah: ";

   for (iter = S2.begin(); iter != S2.end(); iter++)

      cout<<*iter <<" ";


   S2.swap(S1); //menukas S2 dengan S1

   cout <<"\nSetelah penukasan\n";

   cout <<"Elemen-elemen dari S1 adalah: ";

   for (iter = S1.begin(); iter != S1.end(); iter++)

      cout<<*iter <<" ";


   cout<<"Elemen-elemen dari S2 adalah: ";

   for ( iter = S2.begin(); iter != S2.end(); iter++)

      cout<<*iter <<" ";


   S2.clear();

   if (S2.empty())  //menguji apakah masih ada elemen di dalam set.

      cout<<"\nSetelah operasi clear(), S2 menjadi kosong.\n";


   return 0;

}

==================================

#include<iostream>

using namespace std;

#include <string>

#include <set>


const int n =4;


int main()

{

   string Str[n] = {"Satu","Dua", "Tiga", "Empat" };

   char ch[n] = {'B', 'C', 'A', 'V'} ; // Array char


   set<string> S1 ( Str, Str+n);

   set<char> S2 (ch, ch+n) ;


   cout <<"Ukuran dari S1 = "<<S1.size()<<endl ;

   cout <<"Ukuran dari S2 = "<<S2.size()<<endl;


   cout <<"Elemen-elemen dari S1 adalah: ";

   set<string> :: iterator iter;

   for (iter = S1.begin(); iter != S1.end(); iter++)

      cout<<*iter <<" ";


   cout<<"\nSetelah pernghapusan, elemen-elemen dari S1 adalah: ";

   S1.erase( S1.begin());   //menghapus elemen pertama

   for (iter = S1.begin(); iter != S1.end(); iter++)

      cout<<*iter <<" ";


   set<char> :: iterator itr;

   cout<<"\nElemen-elemen dari S2 adalah: ";

   for (itr = S2.begin(); itr != S2.end(); itr++)

      cout<<*itr <<" ";


   S2.clear();

   if(S2.empty())

      cout<<"\nS2 kosong."<<endl ;


   return 0;

}

====================================

#include<iostream>

using namespace std;

#include <set>

#include <iterator>

typedef std::set<char> Chrset;  //typedef untuk menghindari

//penulisan std::set< char> berulangkali


int main()

{

   const int n =4;

   char G[n] = {'Z', 'S', 'N', 'A'};


   Chrset Set1 (G , G+n); //konstruksi dari set

   Chrset Set2 (Set1);


   Chrset:: iterator itr; //deklarasi dari iterator


   cout<<"Elemen-elemen Set1 adalah: ";

   for(itr = Set1.begin(); itr!= Set1.end(); itr++)

      cout<< *itr<<" ";

   cout<<"\n";


   cout<<"Elemen-elemen Set2 adalah: ";

   for(itr = Set2.begin(); itr != Set2.end(); itr++)

      cout<< *itr<<" ";


   Set1.erase( Set1.begin()); //menghapus elemen pertama

   cout<<"\n";


   Chrset:: iterator iter;

   

   Set1.insert('T'); //penyisipan sebuah elemen


   cout<<"Setelah penyisipan, elemen-elemen S1 adalah: ";

   for(iter = Set1.begin(); iter!= Set1.end(); iter++)

      cout<< *iter<<" ";

   cout<<"\n";

   

   return 0;

}

================================

#include <iostream>

#include<set>   //File header sama untuk set dan multiset

using namespace std;


typedef std::multiset<int> IntMset;


int main()

{ 

   const int n = 8;

   int bill[n] = {20, 50, 10, 15, 70, 10, 40, 10};


   IntMset Xset(bill , bill+n); //konstruksi dari set

   IntMset::iterator iter;      //deklarasi dari iterator.


   cout<<"Ukuran dari Xset = " << Xset.size()<<endl;

   

   cout<<"Elemen-elemen di dalam Xset adalah: ";

   for (iter = Xset.begin(); iter != Xset.end(); iter++)

      cout<< *iter<<" " ;


   cout<<"\nUpper_bound = "<<*(Xset.upper_bound(50))<<endl;


   cout<<"Jumlah salinan 10 di dalam Xset adalah = "<< Xset.count (10)<<endl;


   return 0;

}

================================

#include<iostream>

using namespace std;

#include<map>

#include<string>


typedef map <string, int> Mint ;

//typedef dipakai untuk menghindari penulisan

//map <string, int> berulangkali


int main()

{

   Mint DaftarHarga;

   string Metal[3] = {"baja", "perak", "perunggu"};

   int NilaiArr[3] = { 20, 200, 180};


   for (int j = 0; j<3; j++)

      DaftarHarga[Metal[j]] = NilaiArr[j] ; //membaca ke dalam map


   Mint::iterator iter; //deklarasi dari iterator.

   

   cout <<"Harga-harga adalah sebagai berikut"<<endl;

   for (iter= DaftarHarga.begin();iter != DaftarHarga.end(); iter++)

      cout<<(*iter).first<<"\t\t"<<(*iter).second<<endl;


   iter = DaftarHarga.begin();

   (*iter).second = 250;      //Mengubah nilai terkait

   (*(++iter)).second = 350;  //Mengubah nilai terkait

   (*(++iter)).second = 25 ;  //Mengubah nilai terkait


   cout<<"Harga-harga setelah revisi adalah sebagai berikut"<<endl;

   for ( iter= DaftarHarga.begin();iter != DaftarHarga.end(); iter++)

      cout<< (*iter).first<<"\t\t"<<(*iter).second<<endl;


   return 0;

}

==========================================

#include<iostream>

using namespace std;

#include<map>

#include<string>


typedef map <string, int> Map_Nilai;


int main()

{

   string Nama ;

   int Skor;

   Map_Nilai Nilai; //Nilai adalah nama dari map


   for (int i = 0; i<4; i++)  //loop for membaca nama dan skor

   { 

      cout<<"Masukkan sebuah nama: ";

  cin>>Nama;

      cout<<"Masukkan skor yang didapatkan: "; 

      cin>>Skor;

      Nilai[Nama] = Skor;

   }


   //Berikut adalah nama dan skor lain yang disisipkan

   Nilai.insert (Map_Nilai::value_type("Sinaksak", 85));


   //Menyisipkan sebuah entri nama dan nilai

   cout<<"Daftar nilai adalah sebagai berikut:\n\n";

   Map_Nilai :: iterator iter;  //deklarasi dari iterator

   iter = Nilai.begin();

   //berikut adalah loop for untuk menampilkan

   for( iter = Nilai.begin(); iter != Nilai.end(); iter++)

      cout<< (*iter).first<<"\t" <<(*iter).second<<"\n";


   return 0;

}

==============================

#include<iostream>

using namespace std;

#include<map>

#include<string>


typedef map <string, int > Map_Nilai;


int main()

{ 

   string Nama ;

   int Skor;


   Map_Nilai Nilai;


   for (int i = 0; i<4; i++)

   {

      cout<<"Masukkan sebuah nama: ";

      cin>>Nama;

      cout<<"Masukkan skor yang didapatkan: "; 

      cin>>Skor;

      Nilai[Nama] = Skor;

   }


   Nilai.insert (Map_Nilai::value_type ("Kristof", 85));

   Nilai.insert (Map_Nilai ::value_type ("John",90));


   cout<<"\n"<<Nilai.size()<<endl; //jumlah elemen


   Map_Nilai::iterator iter;

   for(iter = Nilai.begin() ; iter != Nilai.end(); iter++)

      cout<< (*iter).first<<"\t"<<(*iter).second<<"\n";


   return 0;

}

===========================

#include<iostream>

using namespace std;

#include<map>

#include<string>


typedef map <string, int> Map_Nilai;


int main()

{

   string Nama ;

   int Skor;

   

   Map_Nilai Nilai1 ;


   for (int i = 0; i<4; i++)

   {

      cout<<"Masukkan sebuah nama: ";

      cin>>Nama;

      cout<<"Masukkan skor yang didapatkan: "; 

      cin>>Skor;

      Nilai1[Nama] = Skor;

   }



   Map_Nilai Nilai2;

   Nilai2 = Nilai1 ; //aplikasi dari operator penugasan pada map


   Nilai1.insert (Map_Nilai::value_type("Kristof", 85));

   

   Map_Nilai :: iterator iter;

   iter = Nilai1.begin();


   cout<<"Daftar Nilai1 adalah sebagai berikut: "<<endl;

   for( iter = Nilai1.begin(); iter != Nilai1.end(); iter++)

      cout<< (*iter).first<<" \t " <<(*iter).second<<"\n";


   Map_Nilai :: iterator iter2;


   cout<<"Daftar Nilai2 adalah sebagai berikut: "<<endl;

   iter2 = Nilai2.begin();

   for( iter2 = Nilai2.begin(); iter2 != Nilai2.end(); iter2++)

      cout<< (*iter2).first<<" \t "<<(*iter2).second<<"\n";


   return 0;

}


============================
#include<iostream>
using namespace std;
#include<map>
#include<string>

typedef std:: map < string ,int> Multinilai;

int main()
{
   Multinilai pasangan;

   pasangan.insert (Multinilai::value_type("Kristof", 80));
   pasangan.insert (Multinilai::value_type("Kristof", 85));
   pasangan.insert (Multinilai::value_type("Kristi", 96));
   pasangan.insert (Multinilai::value_type("John", 70));
   pasangan.insert (Multinilai::value_type("John", 65));
   pasangan.insert (Multinilai::value_type("Bubita", 95));
   pasangan.insert (Multinilai::value_type("Rosintan", 60));
   pasangan.insert (Multinilai::value_type("Rosi", 60)) ;

   cout<<"Ukuran terkini dari pasangan adalah = "<<pasangan.size()<<endl;

   Multinilai::const_iterator itr= pasangan.begin();
   cout<<"Isi dari pasangan adalah sebagai berikut: "<<endl;
   for(itr = pasangan.begin(); itr != pasangan.end(); itr++)
      cout<< itr-> first <<"\t"<< itr-> second<<"\n";

   pasangan.erase (pasangan.begin() );  //menghapus elemen pertama
   cout <<"Ukuran setelah menghapus pasangan pertama adalah = "<< pasangan.size() <<endl;

   cout <<"Isi setelah penghapusan adalah: "<<endl;
   Multinilai::iterator iter;   //deklarasi dari iterator
   for(iter= pasangan.begin(); iter != pasangan.end(); iter++)
      cout<< iter-> first <<"\t"<< iter-> second<<"\n";

   return 0;
}
======================================
#include<iostream>
using namespace std;
#include<map>
#include<string>

typedef std:: map <string, int> Multinilai;

int main()
{ 
   Multinilai pasangan;

   pasangan.insert (Multinilai::value_type("Kristof", 80));
   pasangan.insert (Multinilai::value_type("Kristof", 85));
   pasangan.insert (Multinilai::value_type("Kristi", 96));
   pasangan.insert (Multinilai::value_type("John", 70));
   pasangan.insert (Multinilai::value_type("John", 65));
   pasangan.insert (Multinilai::value_type("Bubita", 95));
   pasangan.insert (Multinilai::value_type("Rosintan", 60));
   pasangan.insert (Multinilai::value_type("Rosi", 60));

   cout<<"Ukuran terkini dari pasangan adalah = "<<pasangan.size()<<endl;

   cout<<"Nilai maksimum yang dapat ditampung map adalah = "<<pasangan.max_size() <<endl;

   Multinilai::const_iterator itr= pasangan.begin();

   cout<<"Pasangan-pasangan di dalam map adalah sebagai berikut."<<endl;
   for(itr = pasangan.begin(); itr != pasangan.end(); itr++)
      cout<< itr-> first <<"\t"<< itr-> second<<"\n";

   pasangan.erase (++pasangan.begin(), --pasangan.end());
   //menghapus pasangan kedua sampai pasangan yang ada sebelum pasangan terakhir.
  
   cout <<"Ukuran map setelah penghapusan = "<< pasangan.size() <<endl;

   cout <<"Pasangan-pasangan sekarang di dalam map adalah berikut:"<<endl;
   Multinilai :: iterator iter;
   for(iter= pasangan.begin(); iter != pasangan.end(); iter++)
      cout<< iter-> first <<"\t"<< iter-> second<<"\n";

   return 0;
}
=========================================
#include<iostream>
using namespace std;
#include<map> // Header file is same as for maps.
#include<string>

typedef std::multimap<string, int> Multinilai;
//Dengan typedef ini, Anda hanya perlu menulis Multinilai menggantikan
// std::multimap<string, int>

int main()
{
   Multinilai pasangan;

   pasangan.insert(Multinilai::value_type("Kristof", 80));
   pasangan.insert(Multinilai::value_type("Kristof", 85));

   pasangan.insert(Multinilai::value_type("Kristi", 96));
   pasangan.insert(Multinilai::value_type("John", 70));

   pasangan.insert(Multinilai::value_type("John", 65));
   pasangan.insert(Multinilai::value_type("Bubita", 95));

   pasangan.insert(Multinilai::value_type("Rosintan", 60));
   pasangan.insert(Multinilai::value_type("Rosi", 60));


   for(Multinilai::const_iterator itr = pasangan.begin();
      itr != pasangan.end(); itr++)
   
   cout<< itr-> first <<"\t"<< itr-> second<<"\n";

   return 0;
}
======================================
#include<iostream>
using namespace std;
#include<map>
#include<string>

typedef std::multimap<string ,int> Multinilai;

int main()
{
   Multinilai pasangan ;

   pasangan.insert(Multinilai::value_type("Kristof", 80));
   pasangan.insert(Multinilai::value_type("Kristof", 85));

   pasangan.insert(Multinilai::value_type("Kristof", 96));
   pasangan.insert(Multinilai::value_type("Vivian", 70));

   pasangan.insert(Multinilai::value_type("Vivian", 65));
   pasangan.insert(Multinilai::value_type("Anita", 95));

   pasangan.insert(Multinilai::value_type("Vivian", 60));

   cout<<"Berapa kali Kristof ada = "<<pasangan.count ("Kristof")<<endl;

   cout<<"Berapa kali Vivian ada = "<<pasangan.count ("Vivian")<<endl;

   cout<<"Berapa kali Anita ada = "<<pasangan.count ("Anita")<<endl;

   cout<<"Nama tiap mahasiswa dan skornya masing-masing sebagai berikut: "<<endl;
   for(Multinilai::const_iterator itr= pasangan.begin();
      itr != pasangan.end(); itr++)

   cout<< itr-> first <<"\t"<< itr-> second<<"\n";

   return 0;
}
==========================================

Rabu, 30 Juli 2025

C++ SAMPLE CODE 13

 #include<iostream>

#include<vector>

using namespace std;


vector <double> V(4); // ukuran = 4, nilai masing-masing elemen = 0

vector <int> V1(4,35); // ukuran = 4, nilai masing-masing elemen = 35


int main()

{

   vector<double> V2(4, 4.5); //ukuran = 4, nilai masing-masing elemen = 4.5

   vector<char> V3(4, 'B'); //vektor V3 memiliki empat elemen, 

//dengan nilai masing-masing elemen adalah ‘B’.


   vector <int> V4(V1); // V4 adalah salinan dari V1

   vector<int> V5 ;


   for(int i =0; i<4;i++ ) //Menciptakan sebuah vektor dengan 4 elemen.

      V5.push_back (5); //Masing-masing elemen bernilai 5.


   cout<<"V \tV1\tV2\tV3 \tV4"<<"\tV5"<<endl;

   for ( int j = 0; j< 4; j++) // loop for untuk menampilkan keluaran

      cout <<V[j]<<"\t"<< V1[j]<<"\t" <<V2[j]<<"\t"<< V3[j] <<"\t"<<

             V4[j]<<"\t"<<V5[j]<<endl ;


   return 0;

}

=============================

#include<iostream>

#include<vector>

using namespace std;


vector<int> V1 , V2 ; //deklarasi dari dua vektor


int main()

{

   V1.push_back(10); //Menggunakan fungsi push_back() untuk menciptakan V1

   V1.push_back(20);

   V1.push_back(30);


   vector<int> :: iterator iter = V1.begin(); //iterator untuk V1


   cout<<*iter<<"\t"<<*(iter+1)<<"\t"<<*(iter +2) <<endl;

   cout<<iter<<"\t"<<iter+1<<"\t"<<iter+2 << endl;


   cout<<"Elemen-elemen dari vektor V2 adalah sebagai berikut:\n ";

   for (int i =0;i< 6; i++)

      V2.push_back(i*i); //menciptakan vektor V2


   iter = V2.begin(); //iterator untuk V2


   while ( iter != V2.end())

   {

      cout <<*iter <<" ";

      iter++;

   }


   cout<<endl;

   return 0;

}

===============================

#include<iostream>

#include<vector>

#include <string>

using namespace std;


vector<int> V1, V2, V3, V4;

vector<string> V5;


int main()

{

   V1.assign(5,5); //V1 is assigned 5 values each equal to 5.

   V2.assign(5,4); //V2 is assigned 5 values each equal to 4.


   V3 = V2; // vector V2 is assigned to vector V3


   string Str [] = {"Nimi" ,"Simi", "Jimmi", "Ginni", "Pinni"};


   int Array[] = {1, 2, 3, 4, 5};


   for (int j =0; j<5 ;j++)

   {

      V4.push_back (Array[j]);

      V5.push_back (Str[j]);

   }

   //elemen-elemen dari array Str ditempatkan ke vektor V5


   if(V2 == V3)

   {

      cout<<"V2 dan V3 sama"<<endl;

   }

   else

      cout<<" V2 dan V3 tidak sama"<<endl;


   cout<<"V1 \tV2 \tV3 \tV4 \t V5"<<endl ;

   for ( int i = 0; i< 5; i++)

      cout<<V1[i]<<"\t"<<V2[i]<<"\t"<<V3[i]<<"\t"<<V4[i]<<"\t"<<V5[i]<<endl;


   cout<<"Alamat dari V3 = "<<&V3<<endl ;

   for (int k=0;k< 5 ;k++)

      V2[k] *= V1[k] ;


   cout<<"Komponen-komponen dari V2 sekarang = ";

   for (int m =0; m<5; m++)

      cout<<V2.at(m) <<" ";


   cout<<"\n";

   return 0;

}

==================================

#include<iostream>

#include<vector>

using namespace std;


vector<int> V;


int main()

{

   for ( int i =1; i<=5;i++)

      V.push_back (i*i); //5 nilai:1, 4, 9, 16, 25 ditempatkan ke dalam V

  

   cout<<"Ukuran dari V = "<< V.size()<<endl;

   cout<<"Kapasitas dari V = "<< V.capacity()<<endl;


   cout<<"Elemen-elemen dari vektor V adalah: "<<endl;

   for (int j = 0; j<=4; j++)

      cout <<" "<< V[j]<<" ";

   cout<<endl;


   V.pop_back(); //Elemen akhir (25) dihapus

   cout<<"Setelah pop_back, ukuran dari V adalah = "<<V.size()<<endl;


   cout<<"Kapasitas dari V = "<<V.capacity()<<endl;

   for (int k =1; k< 6; k++)

      V.push_back (2*k); //5 nilai: (2, 4, 6, 8, 10) ditempatkan ke dalam V


   cout<<"Sekarang ukuran dari V adalah = "<<V.size();

   cout<<"\nSekarang kapasitas dari V adalah = "<< V.capacity();


   vector<int> :: iterator itr; //deklarasi dari iterator itr


   cout<<"\nSetelah pop_back, elemen-elemen dari V adalah: "<<endl;

   for (itr = V.begin(); itr < V.end (); itr ++)

      cout<<*itr <<" " ; //menampilkan nilai dari tiap elemen dengan iterator


   cout<<endl;

   return 0;

}

================================

#include<iostream>

#include<vector>

using namespace std;


vector<int> V;


int main()

{

   V.assign(6,8); //menugaskan 6 nilai, masing-masing nilai 8, kepada V


   for (int i = 0; i< 6; i++)

      cout<<V[i] <<" ";

   cout<<"\n";


   for(int j=0;j< 6 ;j++)

   {

      V[j] = j*V[j]; //setiap elemen dikali dengan nilai indeksnya

      cout <<V[j]<<" ";

   }

   cout<<"\n";


   for (int k =0; k<8; k++)

   //Perhatikan bahwa nilai maks dari k lebih dari jumlah elemen

      cout<<"Elemen "<<k<<" = "<<V.at(k)<<endl;


   return 0;

}

==================================

#include<iostream>

#include<vector>

using namespace std;


vector<int> V2(2); //V2 memiliki dua elemen, masing-masing nilai 0.

vector< double > V4;


int main()

{

   for (int i = 1; i<6; i++)

   { 

      V2.push_back (i*i); //5 nilai (1, 4, 9, 16, 25) ditempatkan ke dalam V2

      V4.push_back (i*2.5); //5 nilai ditempatkan ke dalam V4

   }

   cout<<"\nV4 = ";


   vector<double>:: iterator itr4;

   for(itr4 = V4.begin(); itr4 != V4.end(); itr4++)

      cout<< *itr4<<" "; //menampilkan elemen-elemen dari V4


   vector<int> :: iterator itr;

   cout<<"\nSekarang V2 = ";

   for(itr = V2.begin(); itr != V2.end(); itr++)

      cout<<*itr<<" " ;


   cout<<"\nSetelah menghapus dua elemen pertama, V2 = ";

   if ( V2.front() ==0)

      V2.erase(V2.begin(),V2.begin()+2);

   //menghapus elemen pertama dan kedua. Elemen ketiga tidak dihapus


   for(itr = V2.begin(); itr != V2.end(); itr++)

      cout<< *itr<<" "; //statemen keluaran


   V2.pop_back( );

   V2.pop_back();


   cout<<"\nSetelah dua kali pop-back, V2 = ";

   for( itr = V2.begin(); itr != V2.end(); itr++)

      cout<< *itr<<" ";

   cout<<endl;


   return 0;

}

===============================================

#include<iostream>

#include<vector>

using namespace std;


vector<int> V1;

vector<int> V2;

vector<int> V3;

vector<int> V4;


int main()

{

   V2.assign(5, 65); //menugaskan 5 elemen, masing-masing 65, kepada V2

   V3.assign(5, 70); //menugaskan 5 elemen, masing-masing 70, kepada V3

   V1.push_back(2); //push_back menempatkan nilai 2 di belakang vektor V1

   V1.push_back(4); //push_back menempatkan nilai 4 di belakang vektor V1


   V1.push_back(5);

   V1.push_back(6);

   V1.push_back(7);


   if (V2 == V1) // uji ekualitas

      cout<< "Vektor V1 dan V2 sama"<<endl;

   else

      cout<<"Vektor V1 dan V2 tidak sama"<<endl;


   V2 = V1; //V1 ditugaskan kepada V2


   cout<<"Setelah penugasan: " << endl;

   if(V1!= V2)

      cout<<"Vektor V1 tidak sama dengan V2"<<endl;

   else

      cout<<"Vektor V1 dan V2 sama."<<endl;


   cout<<"Elemen-elemen dari V2 adalah berikut: "<<endl;

   for (int i = 0; i< 5; i++)

      cout<<" V2["<<i<<"] = "<<V2[i]<<endl;


   return 0;

}

======================================

#include<iostream>

#include<vector>

#include<cmath>

using namespace std;


vector<int> V1;

vector<double> V2 ;

vector<char> V3;


void main()

{ 

   for (int i =0; i<=4;i++)

   {

      V1.push_back (i+2 ); //menciptakan sebuah vektor

      V2. push_back (sqrt(i+2));

      V3.push_back (65 + i); 

   }


   vector<int>::iterator K1 = V1.begin();

   vector<double>::iterator K2 = V2.begin();

   vector<char>::iterator K3 = V3.begin();


   cout <<"Sebelum penyisipan: "<<endl;

   cout <<"V1\tV2\t V3"<<endl;

   while (K1 != V1.end())

   {

      cout <<*K1<<"\t"<<*K2<<"\t"<< *K3<<endl;

      K1++;

      K2++;

      K3++;

   }


   vector<int>::iterator A1 = V1.begin();

   vector<double>::iterator A2 = V2.begin();

   vector<char>::iterator A3 = V3.begin();


   V1.insert(A1 ,3,9); //menyisipkan tiga buah nilai 9 di awal dari V1.

   V2.insert(A2+2,3,10.5); /*menyisipkan tiga elemen masing-masing bernilai

  10.5 pada lokasi ke-3.*/


   V3.insert (A3+3,3,'A'); /*menyisipkan tiga elemen masing-masing bernilai

3 pada lokasi ke-4.*/


   cout<<"Setelah penyisipan: "<<endl;

   cout <<"V1\tV2\t V3"<<endl;

   while (A1 != V1.end())

   {

      cout<<*A1<<"\t"<<*A2<<"\t"<<*A3<< endl;

      A1++;

      A2++;

      A3++;

   }

}

===========================================

#include <iostream>

#include <list>

#include <string>

using namespace std;


list <int> L1, L2, L3 ; //mendeklarasikan tiga list bertipe int.

list <string> L4; //mendeklarasikan list yang memuat string-string.


void main()

{

   for (int i=1; i<6;i++)

      L1.push_back(i*i ); //menempatkan nilai-nilai dengan push_back()


   L2.assign (5, 75); //menempatkan nilai-nilai dengan assign()

   L3 = L1; //konstruktsi list dengan penugasan


   const int n =5;

   string Nama[n]={"Kristof", "Santi","Dwi", "Vivian", "Rosintan"};


   for(int j=0; j<5; j++)

      L4.push_back(Nama[j]);


   //menempatkan nilai-nilai dalam bentuk string-string

   cout<<"List awal adalah sebagai berikut: "<<endl;

   cout<< "L1 = " ;

   list<int>::iterator itr ; //deklarasi dari iterator

   for(itr = L1.begin(); itr !=L1.end(); itr ++)

      cout<< *itr <<" ";

   cout<<"\n";


   cout<<"L2 = ";

   for(itr = L2.begin(); itr !=L2.end(); itr ++)

      cout<<*itr <<" ";


   L3 = L2;

   cout<<"\n";

   cout<<"L3 = ";

   for(itr = L3.begin(); itr !=L3.end(); itr ++)

      cout<<*itr<<" ";

   cout<<"\nL4 = ";


   list<string>::iterator iter ;

   for(iter = L4.begin(); iter !=L4.end(); iter ++)

      cout<< *iter <<" ";


   L3 = L1 ; //L1 disalin ke L3

   cout<<"\nL3 baru = ";

   for(itr = L3.begin(); itr !=L3.end(); itr ++)

      cout<<*itr<<" ";


   if ( L1 == L3) //perbandingan atas dua string

      cout<<"\nL1 dan L3 sama"<<endl;

   else

      cout<<"\nL1 dan L3 tidak sama\n";

}

==============================================

#include<iostream>

#include<list>

using namespace std;


list<char> L1;


void main()

{

   for (int i=0; i<6;i++)

   { 

      L1.push_back(73 - i);

      L1.push_back(73 - i);

   }


   cout <<"List awal adalah sebagai berikut: "<<endl;

   list<char>::iterator T1;

   for ( T1 = L1.begin(); T1!=L1.end() ; T1++ )

      cout <<" " <<*T1 ;

   cout <<endl;


   L1.unique(); //menghapus salinan-salinan duplikat

   cout <<"Setelah penghapusan salinan duplikat, list menjadi: "<<endl;

   for ( T1 = L1.begin() ; T1!=L1.end() ; T1++ )

      cout <<" " <<*T1 ;


   L1.reverse();

   cout<<"\nSetelah pembalikan urutan, list menjadi: \n";

   for ( T1 = L1.begin() ; T1!=L1.end() ; T1++ )

      cout <<" " <<*T1 ;


   cout<<"\nSetelah penghapusan F, list menjadi: \n";

   L1.remove ('F');

   for ( T1 = L1.begin() ; T1!=L1.end() ; T1++ )

      cout <<" " <<*T1 ;

   cout <<endl;

}

==========================================

#include<iostream>

#include<list>

using namespace std;


list<char> L1;

list<int> L2;

list<int> L3;


void main()

{

   int A[] = {78, 58, 90, 44, 33, 11};


   for (int i=0; i<6;i++)

   {

      L1.push_back(75 - i);

      L2.push_back (A[i]);

      L3. push_back(i*i);

   }


   cout<<"List awal adalah sebagai berikut: "<<endl;

   list<char>::iterator T1;

   list <int>::iterator T2;


   cout<<"List L1 = ";

   for ( T1 = L1.begin() ; T1!=L1.end() ; T1++ )

      cout <<" " <<*T1<<" " ;


   cout<<"\nList L2 = ";

   for ( T2 = L2.begin() ; T2!=L2.end() ; T2++ )

      cout <<" " <<*T2<<" " ;


   cout<<"\nList L3 = ";

   for ( T2 = L3.begin() ; T2!=L3.end() ; T2++ )

      cout <<" " <<*T2<<" " ;


   L3.sort();

   L2.sort();

   

   L2.swap(L3); //menukar elemen-elemen dari dua list

   cout<<"\nList terurut dan tertukar adalah sebagai berikut: "<<endl;

   cout<<"\nList L2 =" ;

   for ( T2 = L2.begin() ; T2!= L2.end() ; T2++)

      cout <<" "<<*T2<<" " ;


   cout<<"\nList L3 =" ;

   for ( T2 = L3.begin() ; T2!= L3.end() ; T2++)

      cout <<" "<<*T2<<" " ;

}

============================================

#include<iostream>

#include<list>

using namespace std;


list <char> L1 ;

list<int> L2;


int main()

{

   for (int i=0; i<5;i++)

   { 

      L1.push_back(65+i);

      L2.assign( 5, 50 ); 

   }


   list<char> ::iterator T1= L1.begin();


   cout<<"List L1 adalah:"<<endl;

   while (T1 !=L1.end())

   {

      cout <<" "<<*T1 <<" ";

      T1++; 

   }

   cout<<"\n";


   list <int> :: iterator T2 = L2.begin();


   cout<<"List L2 adalah: "<<endl;

   while (T2 !=L2.end())

   {

      cout<<" "<<*T2<<" ";

      T2++;

   }

   cout<<"\n";


   cout<<"Elemen pertama dari L1 adalah: "<<L1.front()<<endl;

   cout<<"Elemen terakhir dari L1 adalah: "<<L1.back()<<endl;


   return 0;

}

====================================================

#include<iostream>

#include<list>

using namespace std;


list<int> L1,L2;


void main()

{

   for (int i=1; i<5;i++)

   { 

      L1.push_back(i);

      L2.push_back(i*i);

   }


   cout<<"List-list diberikan sebagai berikut: "<<endl;

   cout<<" List1\t List2 "<<endl;

   list<int>::iterator T1;

   list<int>::iterator T2;

   for(T1=L1.begin(),T2=L2.begin(); T1 != L1.end() ;T1++,T2++ )

      cout<<" "<<*T1 <<" \t "<< *T2 <<endl;


   L1.merge(L2); //menyambung L2 dengan L1

   cout<<"Lis list1 yang baru:"<< endl;

   for (T1=L1.begin() ; T1 != L1.end(); T1++ )

      cout<<" " <<*T1 <<" " ;


   if (L2.empty())

      cout<<"\nL2 sekarang kosong."<<endl;

}

================================================

#include<iostream>

#include<deque>

using namespace std;

deque<int> Q1, Q3;

deque<char> Q2;


int main()

{

   for (int i =0; i<4;i++)

   {

      Q1.push_back (i*i);

      Q2.push_back (65 +i);

   }


   Q3 = Q1; //Q1 ditugaskan kepada Q3


   Q3.push_front(20);

   Q3.push_back(20*20);


   for (int j = 0; j<4; j++)

      cout <<Q1[j]<<"\t"<<Q2[j] <<endl;


   cout<<"\nUkuran dari Q3 = "<<Q3.size()<<endl;

   cout <<"Elemen-elemen dari Q3 adalah: ";


   deque<int>:: iterator iter;


   for (iter = Q3.begin(); iter < Q3.end(); iter++)

      cout<< *iter <<" ";


   return 0;

}

================================================

#include<iostream>

# include <deque>

using namespace std;


int main()

{ 

   deque <double> Q1;


   for ( int i =0; i< 7;i++)

      Q1.push_back (1.5*i);


   cout<<"Elemen-elemen queue adalah: "<<endl;

   for ( int j = 0; j<6; j++)

      cout <<" "<< Q1[j]<<" " ;

   cout<<endl;


   cout <<"Ukuran dari Q1 adalah: " <<Q1.size()<<endl;

  

   Q1.pop_back();

   Q1.pop_front();


   cout<<"Sekarang ukuran dari Q1 adalah: "<<Q1.size()<<endl;

   

   deque <double> :: iterator itr; // itr adalah nama dari iterator

   Q1.insert((Q1.begin() +2),2,50.5); ;

   //menyisipkan 2 elemen dengan nilai 50.5.


   cout<<"Elemen-elemen dari Q1 adalah: "<<endl;

   for ( itr = Q1.begin(); itr < Q1.end() ; itr ++)

      cout<<*itr <<" " ;

   cout<<endl;


   return 0;

}

====================================================================

#include<iostream>

#include <deque>

using namespace std;


int main()

{ 

   deque <int> Q1;

   Q1.assign(4, 12) ;


   cout<<"Elemen-elemen dari antrian adalah: "<<endl;

   for (int j = 0; j<4; j++)

      cout <<" "<< Q1[j]<<" " ;

   cout<<endl;


   cout<<"Ukuran dari Q1 adalah: " << Q1.size()<<endl;


   cout<<"Menempatkan dua (nilai 10) di depan dan dua (nilai 20) di akhir antrian."<<endl;

   Q1.push_front(10 );

   Q1.push_front(10 );

   Q1.push_back(20);

   Q1.push_back(20);


   deque<int> :: iterator itr ;

   // itr adalah nama iterator

   for (itr= Q1.begin(); itr != Q1.end(); itr++)

      cout << *(itr ) <<" " ;


   cout <<"\nElemen-elemen ke-2 sampai ke-4 dihapus."<<endl;

   Q1.erase((Q1.begin() +1),(Q1.begin() +4 ) );


   cout<<"Menyisipkan dua nilai 50 pada posisi ke-3."<<endl;

   Q1.insert((Q1.begin() +2),2,50 );


   cout<<"Sekarang ukuran dari Q1 adalah: "<<Q1.size()<<endl;


   cout<<"Elemen-elemen dari Q1 adalah: "<<endl;

   for (itr = Q1.begin() ; itr < Q1.end () ; itr ++)

      cout<<*itr <<" " ;

   cout<<endl;


   return 0;

}

================================================================

#include<iostream>

#include<list>

using namespace std;


list <char> L1; // declaration of list


void main()

{

   for (int i=0; i<26;i++)

      L1.push_back(90 - i ); //konstruksi list


   list<char>::iterator T;


   cout<<"List awal adalah: "<<endl;

   for ( T = L1.begin(); T!=L1.end(); T++)

      cout <<" " <<*T ; //statemen keluaran

   cout<<"\n\n";


   L1.sort() ; //untuk mengurutkan

   

   {

      list<char> ::iterator IT;

      cout<<"List terurut adalah: "<<endl;

      for ( IT = L1.begin(); IT!=L1.end(); IT++)

         cout<<" " <<*IT ; //statemen keluaran setelah pengurutan

   }

   cout<<endl;

}



C++ SAMPLE CODE 12

 #include<iostream>

#include<vector>

# include <iterator>

using namespace std;


vector<int> V; //Deklarasi dari sebuah vektor dengan elemen-elemen int


int main()

{

   cout<<"Masukkan 5 integer: "<<endl;

   istream_iterator <int> readit(cin);  //input iterator


   /*Berikut adalah fungsi push_back() yang dipakai untuk menambahkan elemen-elemen

     di belakang sebuah vektor V.*/

   V.push_back (*readit++);

   V.push_back (*(readit++));

   V.push_back (*(readit++));

   V.push_back (*(readit++));

   V.push_back (*(readit));


   cout<<"Elemen-elemen dari V adalah: ";

   vector<int>:: iterator iter = V.begin();

   /*vector adalah nama kelas, iterator adalah katakunci. iter adalah nama iterator.

     Fungsi begin() menghasilkan iterator yang menunjuk ke elemen pertama dari V.

Kelas vector mendukung keberadaan iterator random (acak).*/

   

   while(iter != V.end())

   //end() menghasilkan iterator yang menunjuk ke tepat setelah elemen terakhir dari vektor

      cout<<*iter++ <<" "; //menampilkan nilai-nilai elemen dari vektor


   return 0;

}

===========================

#include<iostream>

#include<vector>

# include <iterator>

using namespace std;


vector<int> V;  //Deklarasi dari sebuah vektor dengan elemen-elemen int


int main()

{

   cout<<"Masukkan 5 integer: "<<endl;

   int hitung =0;

   while (hitung <=4)

   {

      istream_iterator <int> readit(cin); //input iterator

      V.push_back (*readit);

      ++hitung;

   }


   //Vektor dikonstruksi dengan menempatkan elemen-elemen di belakang vektor.

   cout<<"\nElemen-elemen dari V adalah: ";

   vector<int>:: iterator iter = V.begin(); // iterator didefinisikan

   //iter adalah nama iterator, yang akan dipakai untuk menjelajah vektor


   while(iter != V.end())

   {

      cout<< *iter <<" ";

      iter++;

   }


   return 0;

}

============================

#include<iostream>

#include<deque>

#include <iterator>

using namespace std;


deque<int> Dek; //deklarasi deque dengan elemene-elemen int


int main()

{

   cout<<"Masukkan 4 buah integer: "<<endl;


   int hitung =0;

   while (hitung < 4)

   { 

      istream_iterator <int> readit(cin);

      Dek.push_back (*readit);

      ++hitung; 

   }


   int k=0;

   cout<<"\nElemen-elemen dari Dek adalah: ";

   while (k <4)

   {

      ostream_iterator <int> writeit(cout);

      * writeit= * (Dek.begin()+k );

      cout<<" ";

      k++;

   }


   return 0;

}

==================================

#include<iostream>

#include<list>

using namespace std;


list<char> Lc ; //deklarasi dari sebuah list dengan nama Lc dan bertipe char

list<int> Li (7,60); //deklarasi dari sebuah list dengan Li

//list ini memiliki 7 elemen int dengan tiap nilai 60


int main()

{

   for (int i=0; i<6;i++)

      Lc.push_back(65+i); //Menambahkan elemen-elemen di belakang list Lc


   cout<<"Elemen pertama dari Lc adalah "<<Lc.front()<<" dan elemen akhirnya adalah "

       <<Lc.back()<<endl; //menampilkan elemen pertama dan elemen akhir


   list<double>Ld(3,2.5); //List Ld mempunyai tiga elemen masing-masing dengan nilai 2.5


   for (int j =0; j< 3; j++)

   {

      Ld.push_back( 5.5); //Menambahkan 3 elemen, dengan nilai 10.5, di belakang list

      Ld.push_front( 10.5);

   } //Menambahkan 3 elemen, dengan nilai 10.5, di depan list


   cout<<"Lc = ";

   list<double>::iterator itrd; //iterator untuk list double

   list<int>:: iterator itri; //deklarasi iterator untuk list int

   list <char>:: iterator itrc; //iterator untuk list char


   for(itrc= Lc.begin(); itrc!=Lc.end(); itrc++)

      cout << *itrc <<" "; //menampilkan elemen-elemen dari list Lc.


   cout<<"\nLi = ";

   for(itri= Li.begin(); itri!=Li.end(); itri++)

      cout<<*itri<<" "; // menampilkan elemen-elemen dari list Li.


   cout<<"\n Ld = ";

   for(itrd= Ld.begin(); itrd!=Ld.end(); itrd++)

      cout<<*itrd<<" "; //menampilkan elemen-elemen dari list Ld.


   cout<<"\nElemen pertama dari Ld = " <<*(Ld.begin())<<endl;


   cout<<"\nElemen ketiga dari Ld dari awal = "<<*(++(++ Ld.begin())) ;

   //kelas list tidak mendukung akses acak


   cout<<"\nElemen ketiga dari Ld dari akhir = "<< * (--(-- Ld.end()))<<endl;


   return 0;

}

=================================

#include<iostream>

using namespace std;

#include<map>

#include<string>


typedef map <string, int> Mint;

/*typedef digunakan untuk menghindari penulisan map<string, int> berulangkali.

Pada deklarasi, kunci adalah sebuah string dan nilai int.*/


int main()

{

   string Nama;

   int Skor;


   Mint Nilai; //Nilai adalah nama map


   for (int i = 0; i<4; i++)

   {

      cout<<"Masukkan Nama: ";

  cin>>Nama;

  cout<<"Masukkan Skor: ";

      cin>>Skor;


  Nilai[Nama] = Skor;

   } //membuat pasangan-pasangan nilai


   Mint :: iterator iter; // deklarasi iterator


   for(iter = Nilai.begin(); iter != Nilai.end(); iter++)

      cout<<(*iter).first<<"\t"<<(*iter).second<<"\n";

      /*first adalah kunci dan second adalah nilai. Operator dot dipakai

    untuk memilih first dan second.*/


   return 0;

}

=============================

#include<iostream>

#include<stack>

using namespace std;


void main()

{ 

   stack<int> St1 ; //St1 dideklarasikan sebagai tumpukan integer

 

   for (int i =1; i< 7; i++) // konstruksi tumpukan oleh fungsi push()

      St1.push (10* i);


   //Elemen-elemen yang diisikan adalah 10, 20, 30, 40, 50, 60

   //Pada tumpukan, tatanannya adalah LIFO

   cout <<"Elemen teratas pada St1 = "<<St1.top()<<endl;


   cout<<"Ukuran dari tumpukan adalah = "<<St1.size()<<endl;


   cout<<"Elemen-elemen dari St1 adalah: ";

   while(!St1.empty()) //statemen untuk menampilkan elemen-elemen tumpukan

   {

      cout<<St1.top()<<" ";

      St1.pop() ; 

   } //menghapus elemen teratas

}

==============================

#include<iostream>

#include<stack>

#include <string>

using namespace std;


void main()

{

   stack<int> Ski ; //deklarasi tumpukan integer

   stack<char> Sch; //deklarasi tumpukan char

   stack<string> Skt ; //deklarasi tumpukan string


   string Nama[4]={"Jakarta", "Medan", "Surabaya", "Bandung"};

   char ch[4] = {'B', 'A', 'C', 'T'};

   int Array[5] = { 10, 40, 60,20,10 };


   for (int i = 0;i < 4; i++)

   {

      Ski.push (Array[i]); //menempatkan 4 elemen pada tumpukan Ski

      Sch.push (ch[i]); //menempatkan 4 elemen pada tumpukan Sch

      Skt.push (Nama[i]); //menempatkan 4 elemen pada tumpukan Skt

   } 


   cout <<"Elemen teratas pada Skt = "<<Skt.top()<<endl;

   cout <<"Elemen teratas pada Sch = "<<Sch.top()<<endl;

   cout <<"Elemen teratas pada Ski = "<<Ski.top()<<endl;


   cout<<"Ukuran dari tumpukan Skt adalah = "<<Skt.size()<<endl;


   cout<<"Elemen-elemen dari ketiga tumpukan adalah sebagai berikut: "<<endl;

   for (int j = 0;j < 4; j++)

   { 

      cout<<Skt.top()<<"\t"<< Sch.top()<<"\t"<<Ski.top()<<"\n";

      Skt.pop() ; //menghapus elemen teratas pada Skt

      Sch.pop(); //menghapus elemen teratas pada Sch

      Ski.pop(); //menghapus elemen teratas pada Ski

   }

}

=========================================

#include<iostream>

#include<stack>

using namespace std;


#include <vector>


int main()

{

   stack <int, vector <int> > Tumpukan1, Tumpukan2, Tumpukan3;

   //Deklarasi tumpukan int

   //Kontainer yang digunakan adalah vektor


   int Array1[] = {12, 13, 14, 15, 16};

   int Array2[] = {40, 60, 20, 10, 50};


   for ( int i = 0;i < 5; i++)

   {

      Tumpukan1.push (Array1[i]);

      Tumpukan2 .push (Array2[i]); 

   }

      

   Tumpukan3 = Tumpukan2; // Tumpukan2 ditugaskan kepada Tumpukan3


   cout<<"Ukuran dari Tumpukan3 adalah = "<<Tumpukan3 .size()<<endl;


   if ( Tumpukan2 == Tumpukan3 ) // relational == operator

      cout<< "Tumpukan3 dan Tumpukan2 sama.\n";

   else

      cout<<"Tumpukan3 dan Tumpukan2 tidak sama.\n";


   Tumpukan3.push(80); //menambahkan elemen lain pada tumpukan


   cout <<"Sekarang ukuran dari Tumpukan3 = "<<Tumpukan3.size()<<endl;


   for ( int j = 0;j < 6; j++) //untuk menampilkan elemen-elemen tumpukan

   {

      cout<<Tumpukan3.top()<<" " ; //menampilkan elemen teratas pada Tumpukan3

      Tumpukan3.pop(); // menghapus elemen teratas dari Tumpukan3

   }

   cout<<endl;


   return 0;

}

=================================

#include<iostream>

#include<queue>

using namespace std;


void main()

{

   queue <int> Q ;


   for (int i =1; i<7; i++)

      Q.push (10* i);


   //Pada antrian, tidak ada fungsi top(), tetapi yang dimiliki

   //adalah fungsi front().

   //Penampilan elemen-elemen dari depan antrian diilustrasikan

   //di bawah ini.


   cout<<"Elemen di depan antrian Q adalah = "<<Q.front()<<endl;


   cout<<"Ukuran dari antrian Q adalah = "<<Q.size()<<endl;


   cout<<"Elemen-elemen dari Q adalah: ";

   while(!Q.empty()) //statemen keluaran untuk antrian

   {

      cout<<Q.front()<<" ";

      Q.pop(); 

   }

   cout<<endl;

}

==============================

#include<iostream>

#include<queue>

using namespace std;


int main()

{

   queue<int> q2,q3 ;

   queue<double> q1;


   for (int i =0; i< 6; i++)

   {

      q1.push (1.5*i);

      q2.push (i*i);

   }


   q3 = q2; //operator penugasan


   if( q2 == q3)

      cout<<"Sekarang antrian q2 dan q3 sama."<<endl;

   else

      cout<<"Sekarang antrian q2 dan q3 tidak sama."<<endl;


   cout<<"Elemen-elemen antrian q2 adalah: ";

   while(!q2.empty())

   {

      cout<<q2.front()<<" " ;

      q2.pop();

   }

   cout<<"\n";


   cout<<"Elemen-elemen antrian q3 adalah: ";

   while(!q3.empty())

   {

      cout<<q3.front()<<" " ;

      q3.pop();

   }

   cout<<"\n";


   if( q2 == q3)

      cout<<"Antrian q2 dan q3 sama."<<endl;

   else

      cout<<"Antrian q2 dan q3 tidak sama."<<endl;


   cout<<"menempatkan elemen lain, 10, ke dalam q3 \n";

   q3.push (10);


   cout<<"Elemen-elemen antrian q3 adalah: ";

   while(!q3.empty())

   {

      cout<<q3.front()<<" " ;

      q3.pop();

   }

   cout <<"\n";


   cout<<"Elemen-elemen antrian q1 adalah: ";

   while(!q1.empty())

   {

      cout<<q1.front()<<" " ;

      q1.pop();

   }

   cout <<"\n";


   return 0;

}

=======================================

#include<iostream>

#include<queue>

using namespace std;


void main()

{

   priority_queue <int> PQ ; //deklarasi antrian prioritas

   int Array[6] = {10, 80, 90, 20, 40, 70};


   for ( int i =0; i<6; i++)

      PQ.push (Array[i]);


   //pada antrian prioritas, tidak ada front(), tetapi yang ada top()

   cout<<"Elemen di atas (depan) antrian PQ = "<<PQ.top()<<endl;


   cout<<"Ukuran dari antrian PQ adalah = "<<PQ.size()<<endl;


   cout<<"Elemen-elemen dari PQ adalah: ";

   while(!PQ.empty())

   {

      cout<<PQ.top()<<" ";

      PQ.pop(); 

   }

   cout<<endl;

}

===========================================

#include<iostream>

#include<algorithm>

#include<functional>

using namespace std;


bool Ganjil(int n) //definisi dari fungsi untuk nilai-nilai ganjil

{

   return n%2 ? true : false;

}


bool Genap(int m ) //definisi dari fungsi untuk nilai-nilai genap

{

   return !(m%2) ? true: false;

}


int main()

{

   int S[] = {5, 6, 8, 7, 4, 3, 8, 10, 11, 12};

   int n = count_if(S, S+10, Genap);


   /*count_if() adalah sebuah algoritma. Genap adalah alamat dari

     (pointer yang menunjuk ke) fungsi Genap(). Fungsi count_if diimplementasikan

jika elemen memenuhi fungsi Genap*/


   cout<<"Jumlah elemen genap pada S adalah = "<<n<<endl;


   int K = count_if(S, S+10, Ganjil);

   /*Ganjil adalah alamat dari

     (pointer yang menunjuk ke) fungsi Ganjil(). Fungsi count_if diimplementasikan

jika elemen memenuhi fungsi Ganjil*/


   cout<<"Jumlah elemen ganjil pada S adalah = "<<K<<endl;


   return 0;

}

==============================================

#include<iostream>

#include<algorithm>

using namespace std;


template <class T>

class LBS { // LBS = Lebih Besar atau Sama dengan

   private :

      T x;

   public :

      LBS (T A){x = A;} //konstruksi fungsi

      bool operator() (T y)

  {return y >= x ? true :false;}

}; // akhir kelas


int main()

{ 

   LBS <int> lbs(30); //lbs dideklarasikan sebagai objek dari LBS untuk int

   LBS <double> lbs2(25.0); //lbs2 adalah objek untuk double 25.0


   int S[] = {10, 20, 30, 36, 44, 60, 70};

   double SD[] = {3.5, 27.5, 22.6, 56.7, 80.0, 90.7, 65.5, 35.5};


   //count_if() adalah sebuah algoritma

   int m = count_if(S, S+7, lbs); //di sini lbs adalah predikat


   cout<<"Jumlah elemen dengan S >= 30 adalah = "<<m<<endl;


   int n = count_if(SD, SD+8, lbs2); //di sini lbs2 adalah predikat


   cout<<"Jumlah elemen dengan SD >= 25.0 adalah = "<<n<<endl;


   return 0;

}

====================================

#include<iostream>

#include<algorithm>

#include<functional> //file header untuk predikat-predikat pustaka

using namespace std;


int main()

{

   int S[8] = {5, 6, 8, 7, 4, 3, 8, 9};

   char ch [] = {'A', 'Z', 'C', 'M', 'G', 'K', 'T'};


   sort(S, S+8, less<int>()); //menata dengan urutan menaik


   sort(ch, ch+7, greater<int>()); //menata dengan urutan menurun


   for (int i =0; i<8;i++)

      cout<<S[i]<<" ";

   cout <<endl;


   for (int j =0; j< 7 ; j++)

      cout << ch[j]<<" ";

   cout<<endl;


   return 0;

}

=========================================

#include<iostream>

#include<algorithm>

#include<functional>

using namespace std;


template <class T>

struct LbhBesar: binary_function< T, T, bool> {

   bool operator ()(const T & x, const T& y) const

   { 

      return ( x >y );

   }

};


int main()

{

   int S[10] = {5, 6, 8, 7, 4, 3, 8, 9, 12, 14};

   

   int n = count_if( S, S +10, bind2nd(LbhBesar<int>(), 7));


   cout<<"Jumlah elemen yang lebih besar dari 7 adalah: "<<n<<endl;


   return 0;

}

===================================

#include<iostream>

#include<algorithm>

using namespace std;

#include<functional>


int main()

{

   int S[] = {5, 6, 8, 7, 8, 3, 8, 10, 8, 12};


   int n = count_if(S, S+10, bind2nd(greater<int>(),7));

   cout<<"Jumlah elemen yang lebih besar dari 7 adalah: "<<n<<endl;


   int m = count_if(S, S+10, bind2nd(less<int>(),10));

   cout<<"Jumlah elemen yang lebih kecil dari 10 adalah: "<<m <<endl;


   return 0;

}