Contoh Codingan C/C++ – Latihan soal coding yang sering keluar

Buat anak IT yang beru masuk biasanya belajar PROKOM, dan prokom itu sndiri biasanya pake bahasa PASCAL kalo ga C.

Nah di sini ada beberapa sampel codingan dari soal2 latihan yang sering keluar, smoga dpt membantu.. 🙂

[spoiler show=”Persegi Ajaib” effect=”phase”]

#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');
}

[/spoiler]
[spoiler show=”sisi miring,luas,dan keliling segitiga” effect=”phase”]

#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();
}

[/spoiler]
[spoiler show=”Binary Search Tree” effect=”phase”]

#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);
}

[/spoiler]
[spoiler show=”faktorial” effect=”phase”]

#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();
}

[/spoiler]
[spoiler show=”fibonacci” effect=”phase”]

#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();
}

[/spoiler]
[spoiler show=”Penjumlahan Deret Kuadrat” effect=”phase”]

#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();
}

[/spoiler]
[spoiler show=”bubble sort user” effect=”phase”]

#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();
}

[/spoiler]
[spoiler show=”membalik kata dgn strrev” effect=”phase”]

#include
#include
#include
#include

void main()
{

char a[10];

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

strrev(a);

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

getch();
}

[/spoiler]

Sekian.. smoga membantu! 😀

sumber : http://www.kaskus.us/showthread.php?t=1215259
by : fuchsia21

You may also like...

1 Response

  1. October 31, 2012

    DVD per vedere i trucchi dei bari e capire come difendersi da soli…

    […]Contoh Codingan C/C++ – Latihan soal coding yang sering keluar | Era Informatika[…]…

Leave a Reply

Your email address will not be published. Required fields are marked *