Rabu, 21 Juni 2017

Studi Kasus 30



Terdapat sebuah array yang memiliki hanya satu elemen yaitu 5 dan tempatkan pada indeks ke 0 dalam array, sementara alamat indeks selebihnya bernilai 0, buatlah program yang dapat mengisi alamat indeks yang lain melalui nilai elemen indeks ke 0

Syntax
#include<iostream>
#include<conio.h>
using namespace std;
int main()
{
                int x[5],*p, k;
//            clrscr();
                p=x;

                x[0] = 5; // x [0] diisidengan 5 sehingga x[0] = 5
                x[1] = x[0]; // x[1] diisi dengan x[0] sehingga x[1] = 5;
                x[2] = *p + 2; //x[2] diisi dengan x[0] + 2 sehingga x[2] = 7;
                x[3] = *(p+1)-3; // x[3] diisi dengan x[1] - 3 sehingga x[3] = 2;
                x[4] = *(x+2); // x[4] diisi dengan x[2] sehingga x[4] =7;

                cout<<"Array stelah diisi = "<<endl;
                cout<<endl;

                for(k=0; k<5; k++) //pemanggilan elemen array yang baru
                {
                cout<<"x["<<k<<"] = "<<x[k]<<endl;
                }
getch();
return 0;
}

Running

Penjelasan
Dalam kasus ini, kita hanya memanggil nilai yang terdapat di dalam pointer yang di tunjuk atau pointer yang sudah ditetapkan (ataupun alamatnya), dimisalkan untuk memunculkan 5 buah indeks kita masukan perulangan FOR(k=0; k<5; k++), didalah for yaitu K(indeks) akan dimulai dari angka 0, indeks kurang dari 5 dan indeks akan di ulang setiap 1 kali, setelah itu jika indeks 0 bernilai 5 maka akan di cetak 0, untuk indeks 1 , indeks 1 = indeks 0 yang berarti nilainya akan sama yaitu 5, untuk indeks 2,  pointer *p merupakan alamat awal atau indeks 0 sehingga prosesnya akan menjadi indeks 0 + 2 = 7, untuk indeks 3 yaitu pointer *(p+1) yang artinya indeks 1 karena 0 + 1 menjadi indeks 1, dan untuk yang selanjutnya juga.

0 komentar:

Posting Komentar