t

mail@pastecode.io avatar
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; 
   } 
  } 
 } 
}