t
unknown
c_cpp
4 years ago
1.2 kB
6
Indexable
#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;
}
}
}
}Editor is loading...