C++ codingan

29
Codingan C/C++ Spoiler for Persegi Ajaib: #include<stdio.h> #include<conio.h> 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 %d\n\n",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'); }

Transcript of C++ codingan

Codingan C/C++

Spoiler for Persegi Ajaib:

#include<stdio.h>#include<conio.h>

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 %d\n\n",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 for sisi miring,luas,dan keliling segitiga:

#include<stdio.h>#include<conio.h>#include<math.h>

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 for Binary Search Tree:

#include <stdio.h>#include <conio.h>#include <malloc.h>

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 for Faktorial:

#include<stdio.h>#include<conio.h>

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 for Fibonacci:

#include<stdio.h>#include<conio.h>

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 for Penjumlahan Deret Kuadrat:

#include<stdio.h>#include<conio.h>

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 for bubble sort user:

#include<stdio.h>#include<conio.h>

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 for membalik kata dgn strrev:

#include<stdio.h>#include<conio.h>#include<string.h>#include<stdlib.h>

void main(){

char a[10];

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

strrev(a);

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

getch();}

Spoiler for random angka 1-8:

#include<stdio.h>#include<conio.h>#include<stdlib.h>#include<time.h>

void main(){int angka;randomize();

angka=random(8)+1;textcolor(angka);cprintf("hasil random: %d ",angka);

getch();}

Spoiler for strcmp:

#include<stdio.h>#include<conio.h>#include<string.h>

void main(){char nama1[20];char nama2[20];

scanf("%s",nama1);scanf("%s",nama2);

if(strcmp(nama1,nama2)<0){printf("nama1 lebih kecil");}else if (strcmp(nama1,nama2)>0){printf("nama2 lebih kecil");}else{

printf("nama sama besar");}

getch();}

Spoiler for strlen:

#include<stdio.h>#include<conio.h>#include<string.h>

void main(){char nama[20];gets(nama);printf("panjang nama yang anda masukkan adalah %d",strlen(nama));

getch();}

Spoiler for random angka 1-8:

#include<stdio.h>#include<conio.h>#include<stdlib.h>#include<time.h>

void main(){

int angka;randomize();

angka=random(8)+1;textcolor(angka);cprintf("hasil random: %d ",angka);

getch();}

Spoiler for strcmp:

#include<stdio.h>#include<conio.h>#include<string.h>

void main(){char nama1[20];char nama2[20];

scanf("%s",nama1);scanf("%s",nama2);

if(strcmp(nama1,nama2)<0){printf("nama1 lebih kecil");}else if (strcmp(nama1,nama2)>0){printf("nama2 lebih kecil");}else{printf("nama sama besar");}

getch();}

Spoiler for strlen:

#include<stdio.h>#include<conio.h>#include<string.h>

void main(){char nama[20];gets(nama);printf("panjang nama yang anda masukkan adalah %d",strlen(nama));

getch();}

Spoiler for bola pantul: #include<stdio.h>#include<conio.h>//#include<dos.h>

void delay(int i) {int n,m,o;for(n=0;n<i;n++){for(m=0;m<i;m++){for(o=0;o<i;o++) { } } }}

void main() {int x=15,y=4,ax=1,by=1;

clrscr();_setcursortype(_NOCURSOR);do {gotoxy(x,y);printf("hello");delay(250);gotoxy(x,y);printf(" ");if(x<2 || x>74) {ax*=-1; //increament or decreament}if(y<2 || y>24) {by*=-1; //increament or decreament}

x+=ax;y+=by;}while(!kbhit());}

Spoiler for bola pantul: #include<stdio.h>#include<conio.h>//#include<dos.h>

void delay(int i) {int n,m,o;for(n=0;n<i;n++){for(m=0;m<i;m++){for(o=0;o<i;o++) { } } }}

void main() {int x=15,y=4,ax=1,by=1;clrscr();_setcursortype(_NOCURSOR);do {

gotoxy(x,y);printf("hello");delay(250);gotoxy(x,y);printf(" ");if(x<2 || x>74) {ax*=-1; //increament or decreament}if(y<2 || y>24) {by*=-1; //increament or decreament}

x+=ax;y+=by;}while(!kbhit());}

Spoiler for random angka 1-8:

#include<stdio.h>#include<conio.h>#include<stdlib.h>#include<time.h>

void main(){int angka;randomize();

angka=random(8)+1;textcolor(angka);cprintf("hasil random: %d ",angka);

getch();}

Spoiler for strcmp:

#include<stdio.h>#include<conio.h>#include<string.h>

void main(){char nama1[20];char nama2[20];

scanf("%s",nama1);scanf("%s",nama2);

if(strcmp(nama1,nama2)<0){printf("nama1 lebih kecil");}else if (strcmp(nama1,nama2)>0){printf("nama2 lebih kecil");}else{printf("nama sama besar");}

getch();}

Spoiler for strlen:

#include<stdio.h>#include<conio.h>#include<string.h>

void main(){char nama[20];gets(nama);printf("panjang nama yang anda masukkan adalah %d",strlen(nama));

getch();}

Spoiler for konversi infix ke postfix:

#include<stdio.h>#include<conio.h>#include<ctype.h>

char A[25], S[20];int i,Top;

int Operand (char Op){if(isalpha(Op)){return(-1);}else{return(0);}}

int Operator (char Opr){if((Opr=='^' || Opr=='*' || Opr== '/' || Opr=='+' || Opr=='-'){

return(-1);}else{return(0);}}

int nilai(char X){if(X=='^"){return (3);}else if (X=='*' || X=='/'){return(2);}else if ( X=='+' || X=='-'){return (1);}else{return (0);}}

void main(){char OprStack, OprBaru;Top = -1;clrscr();printf("Inputkan arithmetic statement maks 25 char : ");scanf("%s",&A);for(i=0;A[i]!='\0';i++){if(Operand(A[i])){printf("%c",A[i]);

}else{if((Operator(A[i])){if(Top== -1 || S[Top] == '('){S[++Top]=A[i];

}else{OprStack=S[Top];OprBaru = A[i];

if(nilai(OprBaru) > nilai(OprStack)){S[++Top] = OprBaru;}else{while(nilai(Oprstack) >= nilai(OprBaru) && Top > -1 && S[Top]!= '('){printf("%c", OprStack);OprStack = S[--Top];}S[++Top] = OprBaru;}}else{if(A[i]=='('){S[++Top]=A[i];}else{while(Top >-1 && S[Top] != '('){printf("%c",S[Top--]);

}Top--;}}}}

while(Top>-1){printf("%c",S[Top--];}

getch();}

#include<stdio.h>#include<conio.h>#include<math.h>

void main(){int a,b,c,d,e,f,g;while(scanf("%d",&a)!=EOF){ b=100000;d=0;while(a>=1){c=a;c/=b;d+=c;a%=b;b/=10;}if(d>=10){a=d;b=100;

d=0;while(a>=1){c=a;c/=b;d+=c;a%=b;b/=10;}if(d>=10){a=d;b=100;d=0;while(a>=1){c=a;c/=b;d+=c;a%=b;b/=10;}}}

for(e=-d;e<=d;e++){for(g=((d+1)-(sqrt(e*e)));g<=d;g++){printf(" ");}for(f=1;f<=((d+1)-(sqrt(e*e)));f++){printf("*");if(f!=((d+1)-(sqrt(e*e)))) printf(" ");}printf("\n");}}getch();}

Spoiler for bintang2:

#include<stdio.h>#include<conio.h>

void main(){

int n,i,j;scanf("%d",&n);

for(i=1;i<=n;i++){for(j=1;j<=n;j++){if((i+j)>=(n+1))printf("*");elseprintf(" ");}

printf("\n");}

getch();}

Spoiler for deret ganjil + 1:

#include<stdio.h>#include<conio.h>void main(){int n,a,b;printf("Masukkan bilangan :");

scanf("%d",&n);for (a=1;a<=n;a++){for(b=0;b<a*2;b++)printf("%d",a);printf("\n");}getch();}

Spoiler for jajar genjang:

#include<stdio.h>#include<conio.h>

void main(){int a,t,i,j;

while(scanf("%d %d",&a,&t)!=EOF){for(i=0;i<t;i++){for(j=0;j<i;j++){printf(" ");}for(j=0;j<a;j++){printf("*");}printf("\n");}

for(i=0;i<t;i++){for(j=t;j>i;j--){

printf(" ");}for(j=0;j<a;j++){if(i%2==0){printf("e");}else{printf("o");}}printf("\n");

}}getch();}

Spoiler for array of object:

#include <constrea.h>#include <stdlib.h>#include <string.h>

constream o;

class kendaraan{protected:int jarak, kecepatan;float waktu;public:kendaraan(){jarak = kecepatan = 0;waktu = 0;

}void set_jarak(int a){ jarak = a; }int get_jarak(){ return jarak; }void set_kecepatan(int a){ kecepatan = a; }int get_kecepatan(){ return kecepatan; }float get_waktu();~kendaraan(){}};

float kendaraan::get_waktu(){waktu =(float) jarak/kecepatan + jarak/100*0.1;return waktu;}

class mobil : public kendaraan{int jenis;long total;public:mobil(){jenis = random(3);total = 0;}long get_total();char *get_jenis();~mobil(){}};

char *mobil::get_jenis(){char *str = " ";switch(jenis){case 0:strcpy(str, "Premium");break;case 1:strcpy(str, "Pertamax");break;case 2:strcpy(str, "Pertamax Plus");break;}

return str;}

long mobil::get_total(){switch(jenis){case 0:total = jarak/10 * 5000;break;case 1:total = jarak/10 * 6000;break;case 2:total = jarak/10 * 7000;break;}return total;}

char menu(){o << "Menu Pilihan\n";o << "1. Kendaraan\n";o << "2. Mobil\n";o << "3. Keluar";return (char) getch();}

void kend(){kendaraan obj;int jrk=0, kec=0;o << "Kendaraan : \n";do{o << "Masukkan jarak tempuh [10..1000] : ";cin >> jrk;cin.sync(); cin.clear();}while(jrk<10 || jrk>1000);obj.set_jarak(jrk);do{o << "Masukkan kecepatan [1..100] : ";cin >> kec;cin.sync(); cin.clear();

}while(kec<1 || kec>100);obj.set_kecepatan(kec);o << "Waktu : " << obj.get_waktu() << " jam";getch();}

void mobi(){mobil anak[3];int jrk=0, kec=0;for(int i=0; i<3; ++i){o << "Mobil ke-" << (i+1) << endl;do{o << "Masukkan jarak tempuh [10..1000] : ";cin >> jrk;cin.sync(); cin.clear();}while(jrk<10 || jrk>1000);anak[i].set_jarak(jrk);do{o << "Masukkan kecepatan [1..100] : ";cin >> kec;cin.sync(); cin.clear();}while(kec<1 || kec>100);anak[i].set_kecepatan(kec);o << "Waktu : " << anak[i].get_waktu() << " jam\n";o << "Jenis : " << anak[i].get_jenis() << " menghabiskan Rp. " <<anak[i].get_total() << "\n\n";}getch();}

void main(){randomize();

char tekan = '0';tekan;

do{o.clrscr();tekan =(char) menu();switch(tekan){

case '1':o.clrscr();kend();break;case '2':o.clrscr();mobi();break;}}while(tekan != '3');}

Spoiler for manipulator:

#include<iostream.h>#include<iomanip.h>

void main(){int a,b; //klo mw masukin desimal,,pake float

cout << "Masukkan 2 angka : ";cin >> a >> b;

cout << "a : " << setiosflags(ios::left) << setw(5) << setfill('*') << a << endl;cout << "b : " << setiosflags(ios::left) << setw(8) << setfill('#') << b << endl;

cout << "a dalam hex : " << setiosflags(ios::uppercase) << hex <<a << endl; //sama aj kyk pake setiosflags(ios::hex)cout << "b dalam hex : " << setiosflags(ios::uppercase) << hex <<b << endl;

cout << "a dalam oct : " << oct << a << endl; //sama aj kyk pake setiosflags(ios:: oct) tp tnpa spasi yah,,cout << "b dalam oct : " << oct << b << endl;

cout << setiosflags(ios::showbase | ios::uppercase );cout << "base hex a : " << hex << a << endl;cout << "base hex b : " << hex << b << endl;cout << "base oct a : " << oct << a << endl;cout << "base oct b : " << oct << b << endl;cout << resetiosflags(ios::showbase | ios::uppercase );

cout << setiosflags(ios::fixed); //notasi desimalcout << "desimal a : " << a << endl;cout << "desimal b : " << b << endl;cout << resetiosflags(ios::fixed);

cout << setiosflags(ios::scientific); //notasi exponensialcout << "exponensial a : " << a << endl;cout << "exponensial b : " << b << endl;

float c = 5.45789;cout << "c : " << setprecision(3) << c << endl;cout << "exponensial c : " << setiosflags(ios::scientific)<< c <<endl;cout << "desimal c : " << setiosflags(ios::fixed) << c << endl;

cin.get();cin.get();}