C++ codingan
-
Upload
independent -
Category
Documents
-
view
8 -
download
0
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();}