# t

unknown
c_cpp
2 years ago
1.2 kB
1
Indexable
Never
```#include<stdio.h>
#include<conio.h>

#define Mak 20

typedef struct{
int T[Mak+1];
int nEff;
}TabInt;

void CreateTab(TabInt *T);
void IsiTab(TabInt *T, int x);
int CekTab(TabInt T);
void UrutBubble(TabInt *T);

int main(){
int i, j;
int tmp;
int x;
TabInt MyTab;

CreateTab(&MyTab);
printf("Masukkan Nilai: "); scanf("%d", &x);
while(x!=9999){
IsiTab(&MyTab, x);
printf("Masukkan Nilai: "); scanf("%d", &x);
}

printf("Isi Tabel Belum Terurut \n");
CetakTab(MyTab);
UrutBubble(&MyTab);
printf("Isi Tabel Sesudah Terurut \n");
CetakTab(MyTab);

return 0;
}

void CreateTab(TabInt *T){
(*T).nEff = 0;
}

void IsiTab(TabInt *T, int x){
if((*T).nEff < Mak){
(*T).nEff++;
(*T).T[(*T).nEff] = x;
}
}

int CetakTab(TabInt T){
int i;
for(i=1; i<=T.nEff; i++){
printf("%d ",T.T[i]);
}
printf("\n");
}

void UrutBubble(TabInt *T){
int i, j, tmp;
int N;

N = (*T).nEff;

for(i=N; i>1; i--){
for(j=2; j<=i; j++){
if((*T).T[j-1] > (*T).T[j]){
//pertukaran tempat
tmp = (*T).T[j-1];
(*T).T[j-1] = (*T).T[j];
(*T).T[j] = tmp;
}
}
}
}```