Sunday, November 6, 2011

Berbagai Macam Codingan C/C++

1.Persegi ajaib
#include 
#include

void main() {
int kolom,baris,n,spasi;
do {
clrscr();
gotoxy(15,2); printf("Program Persegi Ajaib Punyaku");
gotoxy(3,5);
printf("Masukkan Panjang Sisi : "); scanf("%d",&n);
gotoxy(3,7); printf("Persegi dengan panjang sisi %dnn",n);
for(baris=1;baris<=n;baris++)
{ printf("* "); }

printf("n");

for(kolom=1;kolom<=n-2;kolom++)
{    printf("*");
for(spasi=1;spasi<=n*2-3;spasi++)
{  printf(" "); }
printf("*n");
}

for(baris=1;baris<=n;baris++)
{
printf("* ");
}
gotoxy(3,23); printf("tekan tombol "y" untuk mengulang");
gotoxy(3,24); printf("tekan sembarang tombol untuk keluar");
}
while(getch()=='y');
}
2. Sisi miring,luas,dan keliling segitiga

#include
#include
#include

void main()
{

float a,t,r,K,L;


scanf("%f%f",&a,&t);

r=sqrt(a*a+t*t);

K=a+r+t;

L=(a*t)/2;

printf("r=%.2f, K= %.2f, L= %.2f",&r,&K,&L);

getch();
}
  

3.Binary Search Tree
#include

#include
#include

struct data{
int angka;
struct data *left, *right;
}*root = NULL;

void menu(void){
gotoxy(1,23); printf("+ to insert");
gotoxy(40,23); printf("- to seek and destroy");
gotoxy(1,24); printf("Esc to Exit");
}

void insert (struct data **p, int angka, int level){
level += 1;
if( level < 6){
if( (*p) == NULL ){
(*p) = (struct data *) malloc (sizeof (struct data) );
(*p) -> angka = angka;
(*p) -> left = (*p) -> right = NULL;
}
else if( angka < (*p)-> angka ){
insert(& (*p) -> left, angka, level);
}
else if( angka > (*p)-> angka ){
insert(& (*p) -> right, angka, level);
}
}
else{
textcolor(14);
gotoxy(1,25); cprintf("Level Tree telah mencapai Maksimum");
textcolor(7);
getch();
}
}

void clearall (struct data *p){
if(p==NULL) return;
clearall(p -> left);
clearall(p -> right);
free(p);
}

void cetak(struct data *p, int x, int y, int j){
if(p == NULL) return;
gotoxy(x,y);
printf("%d", p-> angka);

cetak(p -> left, x-j, y+2, j/2);
cetak(p -> right, x+j, y+2, j/2);
}

void preorder(struct data *p){
if(p==NULL) return;

printf("%d ", p->angka);
preorder(p -> left);
preorder(p -> right);
}

void inorder(struct data *p){
if(p==NULL) return;

inorder(p -> left);
printf("%d ", p->angka);
inorder(p -> right);
}

void postorder(struct data *p){
if(p==NULL) return;

postorder(p -> left);
postorder(p -> right);
printf("%d ", p->angka);
}

void print_order(void){
gotoxy(1,19); printf("PreOrder : "); preorder(root);
gotoxy(1,20); printf("InOrder : "); inorder(root);
gotoxy(1,21); printf("PostOrder : "); postorder(root);
}

void seekndestroy(struct data *p, int angka){
if( p == NULL) return;
else if( angka < p -> angka){
if( p -> left -> angka == angka){
clearall (p -> left);
p -> left = NULL;
}
else{
seekndestroy( p -> left, angka);
}
}
else if( angka > p -> angka){
if( p -> right -> angka == angka){
clearall (p -> right);
p -> right = NULL;
}
else{
seekndestroy( p -> right, angka);
}
}
}

void main(){
int tekan, angka;
do{
clrscr();
menu();
cetak(root, 40, 2, 20);
print_order();
tekan = getch();
switch(tekan){
case '+' : gotoxy(1,16); printf("Masukkan Angka : ");
scanf("%d",&angka);
insert(&root, angka,0);
break;

case '-' : gotoxy(1,16); printf("Masukkan Angka : ");
scanf("%d",&angka);
if(root == NULL){
textcolor(14);
gotoxy(1,25); cprintf("Tidak ada Data yang bisa dihapus");
textcolor(7);
getch();
}
else if(angka == root -> angka ){
textcolor(14);
gotoxy(1,25); cprintf("Root Tidak Boleh Dihapus");
textcolor(7);
getch();
}
else if(root !=NULL){
seekndestroy(root, angka);
}
break;
}
}while(tekan != 27);
clearall(root);
}



4.Faktorial

#include
#include

long faktor(int n)
{
if(n==0)return 1;
else return n*faktor(n-1);
}

void main()
{

int n;

printf("masukkan n : ");
scanf("%d",&n);
printf("n faktorial=%d ",faktor(n));

getch();
}


5. Fibonacci

#include
#include

int fib(int n)
{
int f;
if (n==0)f=0;
else if(n==1)f=1;
else f=fib(n-2)+fib(n-1);
return f;

}

void main()
{
int n;

printf("masukkan n: ");
scanf("%d",&n);

printf("bilangan fibonacci dari %d = %d",n,fib(n));

getch();
}


6.Penjumlahan Deret Kuadrat


#include
#include

int jumlah(int n)
{

if(n==1)return 1;
else return (n*n)+jumlah(n-1);

}

void main()
{

int n,i;
printf("n= ");
scanf("%d",&n);
i=jumlah(n);
printf("%d jumlah= %d",n,i);

getch();
}



7.bubble sort user

#include
#include

void main(){
int bil[5]={5,3,2,1,4};
int j,i,temp;
for(i=0;i<5;i++)
scanf("%d",&bil[i]);
for(j=0;j<4;j++)
{for(i=0;i<4-j;i++)
{if(bil[i]>bil[i+1])
{temp=bil[i];
bil[i]=bil[i+1];
bil[i+1]=temp;
}
}
}
for(i=0;i<5;i++)
printf("%d ",bil[i]);
getch();
}


8.Membalik kata

#include
#include
#include
#include

void main()
{

char a[10];

printf("Masukkan kata: ");
gets(a);

strrev(a);


printf("Jika dibalik menjadi : %s",a);



getch();
}
 


sumber 

Bagikan

Jangan lewatkan

Berbagai Macam Codingan C/C++
4/ 5
Oleh

Subscribe via email

Suka dengan artikel di atas? Tambahkan email Anda untuk berlangganan.

Tidak ada boleh ada unsur SARA, SARU, promosi, iklan.
Berkomentarlah dengan sopan