View
20
Download
2
Category
Preview:
DESCRIPTION
Berkaitan dengan susunan di dalam perkebunan
Citation preview
PENGATURCARAAN KOMPUTER BBT 30802
BAB 12TATASUSUNAN
1
PEN
GEN
ALAN
TA
TASU
SUN
AN
2
• Satu struktur data mudah yg digunakan utk Menyimpan sekumpulan data yang terdiri dpd jenis yang sama.
• Menggunakan satu pembolehubah sahaja utk dirujuk.
• Struktur yg terhasil :
• Kumpulan data dirujuk dengan menggunakan nama pembolehubah dan setiap item/elemen dalam kumpulan tersebut dirujuk melalui subskrip indek.
markah[0]markah[1]markah[2]markah[3]
Cth : printf(“markah = %d”, mark[2]);
[0][1][2] [3] markah
50 40 25 30
subskrip
Rujuk item pertamaRujuk item keduaRujuk item ketigaRujuk item keempat
TATASUSUNAN SATU DIMENSI
3
MEN
GISY
TIHA
R TA
TASU
SUNA
N• Setiap tatasusunan dan bilangan sel yang
bergabung dengannya perlu disytiharkan.• Bentuk pengisytiharan:
Jenis_data_tatasusunan_nama [ungkapan]• Ungkapan: bilangan tatasusunan• Nama Tatasusunan: nama
tatasusunan yang merupakan pengenalpasti
• Item dalam tatasusunan bermula dengan indeks 0
4
5
Sintaks:<jenis><Namatatasusunan>[<dimension>]
MEN
GISY
TIHA
R TA
TASU
SUNA
N
6
MEN
GISY
TIHA
R TA
TASU
SUNA
N• Format :
– Jenis_datanama_tts[saiz elemen];– int mark[4];– Contoh:
• Boleh melakukan umpukan nilai semasa pengisytiharan– Jenis_datanama_tts[saizelemen]= {senarai data};
– Contoh– int mark[4] = {50, 40, 25, 30};– int mark[ ] = {50, 40, 25, 30};
[0] [1] [2] [3]
• Contoh:– A[3] = 1;– int x = A[3];
7
1
-- -- --
--
--
-- -- 1--A -- -- ---- -- -- 4 5 6 3 0 2 8 9 7 1
A[4] A[5] A[6]A[3]A[0] A[2] A[8]A[9]A[7]A[1]
MEN
GISY
TIHA
R TA
TASU
SUNA
N
8
MEN
GISY
TIHA
R TA
TASU
SUNA
N
Gelung untuk akses Jujukan• Penyataan gelung (loop) boleh digunakan dalam
tatasusunan proses jujukan.• Menggunakan kaunter gelung sebagai indeks
tatasusunan, memberikan akses kepada setiap elemen tatasusunan seterusnya.
• Contoh:– int square[SIZE], I;
– Gelung forint square[SIZE], i;for (i=0;i<SIZE; ++i)square [i] = i * i;
0 1 4 9 16 25 36 49 64 81 1009
Array Square
[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [100]
MEN
GISY
TIHA
R TA
TASU
SUNA
N
Contoh: Nilai Purata/*This program is to read 10 numbers and get an arrays*/
#include<conio.h>#include<stdio.h>
main(){
clrscr();int x[10],total=0,i;
for (i=1;i<=10;i++){printf("Insert number %d >>>",i);scanf("%d",&x[i]);total+=x[i];}printf("TOTAL=%d\n",total);printf("AVERAGE=%d",total/10);getch();return (0);
}
10
TATASUSUNAN DUA DIMENSI
11
Contoh Tatasusunan 2-D
int table[5][4];
12
1st Dimension2nd Dimension
AllocateRow:0-4
AllocateColumn:0-3
• Indeks kanan tatasusunan akan ditingkatkan dahulu sebelum indeks kiri
• Contoh:int x[10][5] /*allocate 50 spaces (row:0-9,and column:0-4*/float a[3][20]/*allocate 60 spaces (row:0-2,and column:0-19*/
• Contoh: Int x[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}
1234
567
89
1011
12
13
X[0][0]
X[0][1]
X[0][2]
X[0][3]
X[1][0]
X[1][1]
X[1][2]
X[1][3]
X[2][0]
X[2][1]
X[2][2]
X[2][3]
MEN
GISY
TIHA
R TA
TASU
SUNA
N
CO
NTO
H#include<conio.h>#include<stdio.h>
main(){
clrscr();float b[3][4]={1.1,2.2,3.3,4.4,5.5,6.6,7.7,8.8,9.9,10.10,11.1,12.12};int i,j;for (i=0;i<3;i++)
for(j=0;j<4;j++)
printf("[%d][%d]=%.1f\n",i,j,b[i][j]);
getch();return (0);
}
14
Output[0][0]=1.1[0][1]=2.2[0][2]=3.3 and so on….
REN
TETA
N D
ALA
M
TATA
SUSU
NA
N
15
• Rentetan merupakan kumpulan aksara char• Rentetan dalam C diwakili oleh tatasusunan
aksara• Contoh:
– Char college[11]=“KUITTHO BP”;• Mengistihar rentetan:
– Aksara: char College[8]={‘U’,’T’,’H’,’M’,’’,’B’,’P’,’\
0’};
- Rentetan dengan saiz tatasusunan:char college[11]=“KUITTHO BP”;
- Rentetan tanpa saiz tatasusunan:char college[]=“UTHM BP”;
U T H M B P \0
#include<conio.h>#include<stdio.h>
void main(){
clrscr();int i=0;char time[7]="Work";while (time[i]!='\0'){
putchar(time[i]);i++;
}getch();
}
16
Output
Work
CO
NTO
H
LATIHAN
17
LATI
HAN
11. What is the difference in meaning
between x3 and x[3]?
2. For the declarationchar grades [5];
a) How many memory cells are allocated for data storage?
b) What type of data can be stored there? c) How does one refer to the first array
element?d) To the final array element?
18
int A[10], i = 7, j = 2, k = 4;A[0] = 1;A[i] = 5;A[j] = A[i] + 3;A[j+1] = A[i] + A[0];A[A[j]] = 12;
• What is the content of array A[ ]?
19LATI
HAN
2
• What’s wrong?
Q(1)int A[2][3] = {{2,8,1}, {4,3, 9}}; int B[4] = {3, 6, 4, 2, 10, 9};
Q(2)
int A[6]; for (int i=1; i<=5; i++){
printf("Enter number: “); scanf(“%d”,&A);
}
20LATI
HAN
3
• What will the output after executing the following code?
int data[5] = {2, 8, 3, 1, 7}; int temp; for(int i=0; i<5; i++){
for(int j=0; j<5; j++){ if(data[j] > data[i]){ temp = data[j]; data[j] = data[i]; data[i] = temp;
printf(“%d\n”, data[i]);}
} }
21LATI
HAN
4
What is the content of the array A[ ] upon completion of the for loop?
int A[9] = {5, 3, 21, 33, 21, 9, 10, 80, 12};
int count, temp; for (count = 1; count <= 8; count++)
{if (A[count-1] > A[count]) {temp = A[count-1]; A[count-1] = A[count]; A[count] = temp; } }
22LATI
HAN
5
Recommended