Larik adalah struktur data yang statis, artinya, jumlah elemen larik harus sudah diketahui sebelumnya. Jumlah elemen larik tidak bisa diubah, ditambah, dikurangi selama running program. Mendefinisikan banyak elemen larik berarti memesan sejumlah tempat di memori dan memori akan mengalokasikan sejumlah lokasi memori sebanyak elemen larik bersangkutan.
Array tidak lepas dari looping, array juga ada beberapa macam, ada array 1 dimensi(string), ada juga array 2 dimensi(matriks). Lalu bagaimana membuat array 1&2 dimensi?
Contoh soal array 1 dimensi.
1. Menampilkan deret 1,4,9,16,25,... dengan disediakan array sebanyak 10.
Algoritma:
Program array1
Kamus
i : integer
a : array[10] of integer
Algoritma
for i=1 to 10 do
a[i] <-- i^2
endfor
Bahasa C:
*untuk di bahasa c, pangkat 2 tidak ada maka diganti menjadi kali dengan variabel/bilangan yang sama.
Output/keluaran
2. Meminta masukan nilai dari user sebanyak n buah bilangan, lalu menampilkan nilai terkecil dari 1000 bilangan.
Algoritma:
Program array2
Kamus
n, min, i : integer
a : array[10] of integer
Algoritma
input(n)
for i=1 to n do
input a[i]
endfor
min <-- 1000
for 1=1 to n do
if(min>a[i])then
min <-- a[i]
endfor
output(min)
endif
Bahasa C:
Output/keluaran
Contoh soal array 1 dimensi (String).
1. Meminta masukan kalimat dari user lalu minta masukan huruf yang akan dihitung, & menghitung jumlah huruf di dalam kata tersebut.
Algoritma:
Program huruf
Kamus
kalimat : string
hu, hg : character
i ; integer
Algoritma
input(kalimat)
input(hu)
input(hg)
for i=1 to len do
if(kalimat[i]=hu)then
kalimat[i] <-- hg
endif
endfor
output(kalimat)
Bahasa C:
*strlen adalah nama fungsi di bahasa C untuk menghitung banyaknya kata(string).
Output/keluaran:
Contoh soal array 2 dimensi.
1. Buat matriks dengan deret sbb:
Algoritama:
Program buatmatriks
Kamus
array c[4,4] of integer
d, e, f : integer
Algoritma
f <-- 1
for d=1 to 4 do
for e=1 to 4 do
c[d,e] <-- f
f <-- f+1
endfor
endfor
for d=1 to 4 do
for e=1 to 4 do
output c[d,e]
endfor
endfor
Bahasa C:
2. Hitung 2 matriks 3x3 dengan menerima masukan dari user lalu menghitung jumlah, kurang, dan kali matriks tersebut.
Algoritma:
Program hitungmatriks
Kamus
array a[3,3] of integer
array b[3,3] of integer
array c[3,3] of integer
array d[3,3] of integer
array e[3,3] of integer
f, g :integer
Algoritma
for f=1 to 3 do
for g=1 to 3 do
input a[f,g]
endfor
endfor
for f=1 to 3 do
for g=1 to 3 do
input b[f,g]
endfor
endfor
for f=1 to 3 do
for g=1 to 3 do
c[f,g] <-- a[f,g]+b[f,g]
output c[f,g]
endfor
endfor
for f=1 to 3 do
for g=1 to 3 do
d[f,g] <-- a[f,g]-b[f,g]
output d[f,g]
endfor
endfor
for f=1 to 3 do
for g=1 to 3 do
e[f,g] <-- a[f,g]*b[f,g]
output e[f,g]
endfor
endfor
Bahasa C:
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
int a[3][3];
int b[3][3];
int c[3][3];
int d[3][3];
int e[3][3];
int f;
int g;
int h;
for(f=0; f<3; f++){
for(g=0; g<3; g++){
printf("masukan matriks 1 :"); scanf("%d",& a[f][g]);
}
}
for(f=0; f<3; f++){
for(g=0; g<3; g++){
printf("masukan matriks 2 :"); scanf("%d",& b[f][g]);
}
}
for(f=0; f<3; f++){
for(g=0; g<3; g++){
c[f][g]=a[f][g]+b[f][g];
cout<<c[f][g]<<" ";
}
cout<<"\n";
}
for(f=0; f<3; f++){
for(g=0; g<3; g++){
c[f][g]=a[f][g]-b[f][g];
cout<<c[f][g]<<" ";
}
cout<<"\n";
}
for(f=0; f<3; f++){
for(g=0; g<3; g++){
for(h=0; h<3; h++){
c[f][g]=a[f][g]*b[f][g];
}
cout<<c[f][g]<<" ";
}
cout<<"\n";
}
return 0;
}
Tidak ada komentar:
Posting Komentar