#include <iostream>
using namespace std;
int main()
{
int n = 60 ;
double B = 8.56;
int* ptrn = &n; //ptrn adalah pointer yang menunjuk ke variabel int n.
double *pB = &B; //pB adalah pointer yang menunjuk ke variabel double B
cout<<"n = "<<n<<", B = "<<B<<endl;
cout<<"Alamat dari n adalah = "<<&n<<", ptrn = "<<ptrn<<endl;
cout<< "*ptrn = "<<*ptrn<<", *pB = " <<*pB <<endl;
cout<<"Alamat dari B = "<<&B <<", pB = "<<pB<<endl;
cout<<"Alamat dari ptrn = "<<&ptrn<<endl;
return 0;
}
================================================
#include <iostream>
using namespace std;
int main()
{
char ch = 'S';
char* pc = &ch;
cout<<"*pc = "<<*pc<<endl;
double x = 4.5, z;
typedef double* pd;
pd px = &x; //di sini, pd adalah singkatan untuk double*
cout<<"px = "<<px<<endl; //menampilkan nilai dari px
cout<<"&x = "<< &x<<endl; //menampilkan alamat dari &x
pd pz = &z;
pz = px; //px (alamat dari x) ditugaskan kepada pz
cout<<"*pz = "<<*pz<<endl;
cout<<"*px = "<<*px<<endl;
return 0;
}
===========================================
#include <iostream>
using namespace std;
int main()
{
int n = 60, *pn;
double PI = 3.14159, *pPI;
pPI = &PI;
pn = &n;
char ch = 'M', *sam; //sam adalah nama pointer
sam = &ch; //pointer diinisialisasi dengan &ch.
cout<<"Ukuran dari pointer yang menunjuk ke int n = " <<sizeof(pn)<<endl;
cout<<"Ukuran dari pointer yang menunjuk ke double PI = "<<sizeof(pPI)<<endl;
cout<<"Ukuran dari pointer yang menunjuk ke char ch = "<<sizeof(sam)<<endl;
cout<<"Variabel-variabel yang digunakan: "<<*pn <<", "<<*pPI<<" dan "<<*sam<< endl;
return 0;
}
==============================================
#include <iostream>
using namespace std;
main()
{
int n = 60;
int* ptrn, *ptrm ; //deklarasi dari dua piointer ke int
ptrn = &n;
ptrm = ptrn; //menugaskan pointer
cout<<"n = "<<n<<"\t&n = "<<&n<<"\t *&n = "<<*&n<<endl;
cout<<"ptrn = "<<ptrn<<" "<<"ptrm = "<<ptrm<<endl;
cout<<"Nilai yang ditunjuk oleh ptrn = "<<*ptrn<<"\n" ;
// *ptrn adalah nilai yang ditunjuk oleh pointer ptrn
cout<<"Nilai yang ditunjuk oleh ptrm = " <<*ptrm<<endl;
cout<<"Alamat dari ptrn = "<<&ptrn<<endl;
double PI = 3.141592;
double *pPI; //deklarasi dari pointer untuk PI
pPI = &PI;
cout<<"PI="<<PI<<",\t &PI = "<<&PI<<"\n";
cout<<"*&PI = "<<*&PI<< " ,\t *pPI = "<<*pPI<<"\n";
return 0;
}
============================================
#include <iostream>
using namespace std;
int main()
{
int D, *ptrD = &D ; //deklarasi D dan pointer yang menunjuk ke D
double PI= 3.14159;
double* ptrPI = &PI; //pointer ke PI
cout<<"Tuliskan diameter lingkaran: ";
cin>>*ptrD;
cout<<"Diameter = "<<*ptrD <<endl;
double keliling = *ptrD * *ptrPI; // = PI*D
double luas = *ptrPI* *ptrD **ptrD/4; // = PI*D *D /4
cout<<"Keliling = " <<keliling<<endl;
cout<<"Luas lingkaran = " <<luas<<endl;
return 0;
}
=========================================
#include <iostream>
using namespace std;
int main()
{
int n = 57 ;
int* ptrn = &n; //pointer ke n
cout<<"n = "<<n<<", Alamat dari n = " <<&n<<endl;
cout<<"ptrn = "<< ptrn<<endl;
cout<<"Alamat dari ptrn = "<<&ptrn<<endl;
int** pptrn = &ptrn; //pointer ke pointer ke n
cout<<"pptrn = "<<pptrn<<endl;
int*** ppptrn = &pptrn; //pointer ke pointer ke pointer ke n
cout<<"Alamat dari pptrn = "<<&pptrn<<endl;
cout<<"ppptrn = "<<ppptrn<<"\n";
cout<<"*ptrn = "<<*ptrn<<endl;
cout<<"*pptrn = "<<*pptrn<<endl;
cout<<"**pptrn = "<<**pptrn<<endl;
cout<<"***ppptrn = "<<***ppptrn<<endl;
return 0;
}
====================================
#include <iostream>
using namespace std;
int main()
{
int A[] = {80, 40, 20, 10}; //A adalah sebuah array integer
int *ptrA = A; //ptrA adalah pointer ke array A. Perhatikan bahwa A tidak digunakan
cout<<"*ptrA = "<<*ptrA<<" , \tptrA = "<<ptrA<<endl;
cout<<"*(ptrA+1) = "<<*(ptrA+1)<<" ,\tptrA+1 = "<<ptrA+1<<endl;
cout<<"*(ptrA+2) = "<<*(ptrA+2)<<" , \tptrA + 2 = "<<ptrA+2<<endl;
cout<<"*(ptrA+3) = "<<*(ptrA+3)<<" , \tptrA+3= "<<ptrA+3<<"\n\n";
cout<<"A = " <<A<<endl;
cout<<ptrA[0]<<"\t"<<ptrA[1]<<"\t"<<ptrA[2]<<"\t"<<ptrA[3]<<endl;
cout<<*(A+0)<<"\t"<<*(A+1)<<"\t"<<*(A+2)<<"\t"<<*(A+3)<<endl;
//ini akan menampilkan nilai dari tiap elemen array
return 0;
}
=========================================
#include <iostream>
using namespace std;
int main()
{
int kim[] = {50, 86, 90, 12};
int* pkim = kim; //mendefinisikan pointer ke array kim
for (int i=0 ;i<4; i++) //loop for untuk menampilkan isi array
cout<<"kim["<<i<<"] = "<<*(pkim +i)<<", ";
//*(pkim +i) adalah nilai dari elemen kim[i] dari array
return 0;
}
================================================
#include <iostream>
using namespace std;
int main()
{
int kim[] = {6,8,5,4} ; //array dengan empat elemen
int* pkim = kim; //deklarasi pointer
for (int i=0; i<4; i++)
cout<<"kim2["<<i<<"] = "<<*(pkim +i)**(pkim +i)<<", ";
//menciptakan array kim2 dari elemen-elemen array kim
cout<<"\n";
for(int j= 0; j<4; j++) //menciptakan array kim3
cout<<"kim3["<<j<<"]= "<<*(pkim+j)**(pkim +j) - *(pkim+j)<<", ";
cout<<"\n";
return 0;
}
===============================================
#include <iostream>
using namespace std;
int main()
{
int A[] = {80, 70, 60, 50} ; //array A
int B[] = {10, 20, 30, 40}; //array B
int* pAB[] = {A, B} ;
//Array yang memuat pointer-pointer yang diinisialisasi dengan
//nama array A dan B
cout<<"Alamat dari A = "<<A<<endl;
cout<<"Alamat dari B = "<<B<<"\n\n";
cout<<"Alamat dari elemen pertama dari pAB[0] = "<<pAB<<endl;
cout<<"Alamat dari elemen kedua dari pAB[1] = "<<pAB +1<<endl;
cout<<"*pAB = "<<*pAB <<",\t**pAB = "<<** pAB <<"\n\n";
// Here *pAB = A and **pAB = A[0], see the output below.
cout<<"A[0] = *(*pAB) = "<<* (* pAB)<<endl;
cout<<"A[1] = *(*pAB+1) ="<<*(*pAB+1)<<endl;
cout<<"A[2] = *(*pAB+2) = "<<*(*pAB +2)<<endl;
cout<<"A[3] = *(*pAB+3) = "<<*(*pAB +3)<<endl<<endl;
cout<<"*(pAB+1)= " <<*(pAB+1) <<"\t **(pAB+1) = " <<**(pAB+1)<< endl;
//di sini, *(pAB+1) = B dan **(pAB +1) = B[0], lihat keluaran
cout<<"B[0]= *(*(pAB+1)) = "<<*(*(pAB+1)+0)<<endl;
cout<<"B[1] = *(*(pAB+1)+1) = "<<*(*(pAB+1)+1)<<endl;
cout<<"B[2]= *(*(pAB+1)+2) = "<<*(*(pAB+1)+2)<<endl;
cout<<"B[3] = *(*(pAB+1)+2) ="<<*(*(pAB+1)+3 )<<endl;
return 0;
}
================================================
#include <iostream>
using namespace std;
int main()
{
int Satu[] = {6, 8, 5, 4} ; //array dengan 4 elemen
int Dua[] = {2, 3, 7}; //array dengan 3 elemen
int Tiga[] = {10, 11, 12, 13,14 }; //array dengan 5 elemen
int* pKBS[] = {Satu , Dua, Tiga};
//array pointer, inisialisasi dilakukan menggunakan nama-nama array
cout<<"Satu : "<<**pKBS<<"\t"<<*(*(pKBS)+1) <<"\t"<<*(*(pKBS)+2)<<"\t"
<<*(*(pKBS)+3)<<endl; //mendapatkan elemen-elemen dari array Satu
cout<<"Dua : "<<*(*(pKBS+1))<<"\t"<<*(*(pKBS+1)+1)<<"\t"<< *(*(pKBS+1)+2)
<<endl; //mendapatkan elemen-elemen dari array Dua
cout<<"Tiga : " <<*(*(pKBS+2))<<"\t" <<*(*(pKBS+2)+1)<<"\t"
<<*(*(pKBS+2)+2)<<"\t"<<*(*(pKBS+2)+3)<<"\t"<<*(*( pKBS+2)+4)<<endl;
//mendapatkan elemen-elemen dari array
return 0 ;
}
=============================================
#include <iostream>
using namespace std;
int main()
{
int KBS[3][4] = {6,8,5,4, 2,3,7,9, 10,11,12,13};
int(*pKBS)[4] = KBS ; //deklarasi dari pointer ke KBS
cout<<**pKBS<<"\t"<<*(*(pKBS)+1)<<"\t"<<*(*(pKBS)+2)<<"\t"
<<*(*(pKBS)+3)<<endl;
cout<<*(*(pKBS+1))<<"\t"<<*(*(pKBS+1)+1)<<"\t"<<*(*(pKBS+1)+2)<<"\t"
<< *(*(pKBS+1)+3) <<endl;
cout<<*(*(pKBS+2))<<"\t"<<*(*(pKBS+2)+1)<<"\t"<<*(*(pKBS+2)+2)
<<"\t"<<*(*( pKBS+2)+3)<<endl;
return 0;
}
=================================================================
#include <iostream>
using namespace std;
int main()
{
int KBS[2][3][4] = {6,8,5,4, 2,3,7,9, 1,2,3,4, 21,22,23,24, 31,32,33,34,
41, 42, 43, 44} ; //sebuah array tiga dimensi
int(* pKBS )[3] [4] = KBS; //deklarasi pointer
for (int i = 0; i<2; i++)
{
for (int j =0; j <3; j++)
{
for (int k =0; k<4; k++)
cout<<*(*(*(pKBS +i) + j) +k)<<" ";
cout<<"\n";
}
cout<<"\n";
}
return 0 ;
}
==================================================
#include <iostream>
using namespace std;
int F1(int n){return n;} //menghasilkan argumen
int F2( int n){return n*n;} //menghasilkan kuadrat dari argumen
int F3(int n){return n*n*n;} //menghasilkan pangkat tiga dari argumen
int F4(int n){return n*n*n*n;} //menghasilkan pangkat empat dari argumen
int main()
{
int m;
int (*Fptr)(int m); //pointer ke fungsi-fungsi tersebut
cout<<"Tuliskan sebuah integer: ";
cin>>m ;
int pilihanUser ; //user memilih fungsi
cout<<"Berikan pilihan Anda antara 1 sampai 4: ";
cin>>pilihanUser;
switch (pilihanUser)
{
case 1:
Fptr = F1 ; //memilih fungsi F1
cout<<m<<" dipangkatkan 1 = "<<F1(m)<<endl ;
break;
case 2:
Fptr = F2 ; //memilih fungsi F2
cout<<m<<" dipangkatkan 2 = "<<F2(m)<<endl;
break;
case 3:
Fptr = F3 ; //memilih fungsi F3
cout<<m<<" dipangkatkan 3 = "<< F3(m)<<endl;
break;
case 4:
Fptr = F4 ; //memilih fungsi F4
cout<<m<<" dipangkatkan 4 = "<< F4(m)<<endl;
break;
default:
cout<<"Berikan pilihan kedua antara 1 sampai 4"<<endl;
}
return 0;
}
============================================================
#include<iostream>
using namespace std;
int fung1(int); //prototipe fungsi dari fung1
int fung2(int) ; //prototipe fungsi dari fung2
int fung3(int); //prototipe fungsi dari fung3
int main()
{
int P;
int (*F[3])(int)={fung1, fung2, fung3}; //array yang memuat tiga pointer
//inisialisasi dilakukan menggunakan nama-nama fungsi
cout<<"Masukkan sebuah nilai: ";
cin>>P;
cout<<"Anda telah memasukkan nilai: "<<P<<endl;
for(int i=0;i<3;i++) //loop for untuk memanggil fungsi-fungsi yang berbeda
cout<<"Pangkat "<<i+1<<" dari nilai "<<P<<" = "<<(*F[i])(P)<<endl;
return 0;
}
int fung1(int a) //definisi dari fung1
{
return a;
}
int fung2(int a) //definisi dari fung2
{
return a*a;
}
int fung3(int a) //definisi dari fung3
{
return a*a*a;
}
===============================================
#include <iostream>
using namespace std;
double Fungsi(double (*)(double, double, double), double, double, double);
//prototipe dari Fungsi()
double volume(double, double, double); //prototipe dari fungsi volume()
double permukaan(double, double, double ); //prototipe dari fungsi permukaan()
int main()
{
cout<<"Luas permukaan dan volume dari bangun kubik dengan sisi-sisi 4.0,5.0,6.0:"<<endl;
cout<<"Luas permukaan = "<<Fungsi(permukaan, 4.0,5.0,6.0)<<endl;
cout<<"Volume = "<<Fungsi(volume,4.0,5.0,6.0)<<endl;
return 0;
}
//definisi dari fungsi Fungsi
double Fungsi(double(*pF)(double k, double m, double n), double p, double q, double r)
{
return (*pF)(p,q,r);
}
//berikut adalah definisi dari fungsi permukaan
double permukaan(double k, double m, double n)
{
return 2*(m*k+ n*k+ m*n);
}
// berikut adalah definisi dari fungsi volume
double volume(double k, double m, double n)
{
return k*m*n;
}
Tidak ada komentar:
Posting Komentar