Postingan

Menampilkan postingan dari April, 2021

N TREE

  #include <stdio.h> #include <stdlib.h> /* N tree implementasi Binary Tree */ typedef struct Node { char data; struct Node * nextchild; struct Node * nextsibling; }Node; Node * createtree(char a) { Node * news; news = (Node *) malloc(sizeof(Node)); news->data = a; news->nextchild = NULL; news->nextsibling = NULL; return news; } Node * telusuriparent(char a, Node ** tree) { Node * temp = (*tree); Node * child = NULL; while(temp->data != a && temp->nextchild != NULL) { //periksa anak child = temp->nextchild; while(child->data != a && child->nextsibling != NULL) { child = child->nextsibling; } if(child->data == a) { return temp; } temp = temp->nextchild; if(temp->data == a) return temp; } return temp; } void insertdata (char data,char parent,Node ** t...

Graphh delete

  #include <stdio.h> #include <malloc.h> struct vertex { struct edge * jalur; int data; struct vertex * nextvertex; }; struct edge { struct vertex * tujuan; struct edge * nextedge; int beban; }; struct graph { struct vertex * first; }; void newgraph(struct graph * g) { g->first = NULL; } void buatvertex(struct graph * g,int data) { struct vertex * baru = (struct vertex*)malloc(sizeof(struct vertex)); baru->data = data; baru->jalur = NULL; baru->nextvertex = NULL; if(g->first == NULL) { g->first = baru; }else { struct vertex * akhir = g->first; while(akhir->nextvertex != NULL) { akhir = akhir->nextvertex; } akhir->nextvertex = baru; } } void buatedge(struct vertex * awal,struct vertex * tujuan,int beban) { struct edge * buatedge = (struct edge*)malloc(sizeof(stru...

GRAPH

 #include <stdio.h> #include <malloc.h> struct vertex {     struct edge * jalur;     int data;     struct vertex * nextvertex;      }; struct edge {     struct vertex * tujuan;     struct edge * nextedge;     int beban; }; struct graph {     struct vertex * first;      }; void newgraph(struct graph * g) {     g->first = NULL; } void buatvertex(struct graph * g,int data) {     struct vertex * baru  = (struct vertex*)malloc(sizeof(struct vertex));     baru->data = data;     baru->jalur  = NULL;     baru->nextvertex  = NULL;     if(g->first == NULL)     {         g->first = baru;     }else     {         struct vertex * akhir  = g->first;         while(akhir->nextvertex != NULL)  ...

Shell sort

  #include <stdio.h> int main() {     int L[20],temp,i,j,n=6,m;     printf("pengurutan menurut Shell sort \nmasukkan %d elements: \n",n);     for(i=0;i<n;i++){         scanf("%d",&L[i]);}     printf("\nsebelum sorting: ");     for(i=0;i<n;i++){printf("%d ",L[i]);}     for(m = n/2;m>0;m/=2){     /*6 7 2 1 ===> 2 7 6 1, 2 1 6 7 // 1 2 6 7, 1 2 6 7, 1 2 6 7*/         for(j=m;j<n;j++){             for(i=j-m;i>=0;i-=m){                 if(L[i+m]>=L[i]) break;                 else{                     temp = L[i];//0                     L[i] = L[i+m];                       L[i+m] = temp; ...

Merge Sort

 #include <stdio.h> #include <stdlib.h> void print_array(int array[],int size) {     int i;     for(i = 0;i<size;i++)     {         printf("%d ,",array[i]);     } } void merge(int array[],int l,int mid,int h) {     int i,j,k;     int n1 = mid-l+1;//left sub      int n2 = h-mid;      int left[n1],right[n2];     for(i = 0;i<n1;i++)     {         left[i] = array[l+i];     }      for(j = 0;j<n2;j++)     {        right[j] = array[mid+1+j];            }     i = 0;     j = 0;     k = l;     while(i<n1 && j<n2)     {         if(left[i] <=right[j])         {             array[k] = left[i];     ...

Simple single linked list with delete algorithm in c

 #include <stdio.h> #include <stdlib.h> typedef struct element {      int data;     struct element * next; }element; element * createdelement(int data) {     element * buatelement = NULL;     buatelement = (element*)malloc(sizeof(element));     buatelement->data  = data;     buatelement->next = NULL; } void adddepan(int data, element ** g) {     element * newlist = createdelement(data);     newlist->next = (*g);     (*g) = newlist; } void addtengah(int data,int cari, element * g) {     element * newlist = createdelement(data);     element * temp  = NULL;     temp = g;     g = newlist;     while(temp->data != cari)     {         temp = temp->next;     }     newlist->next = temp->next;     temp->next = newlist; } void addbelakang(int dat...

Simple Single Linked List without delete Algoritm in C

 #include <stdio.h> #include <stdlib.h> typedef struct element {      int data;     struct element * next; }element; element * createdelement(int data) {     element * buatelement = NULL;     buatelement = (element*)malloc(sizeof(element));     buatelement->data  = data;     buatelement->next = NULL; } void adddepan(int data, element ** g) {     element * newlist = createdelement(data);     newlist->next = (*g);     (*g) = newlist; } void addtengah(int data,int cari, element * g) {     element * newlist = createdelement(data);     element * temp  = NULL;     temp = g;     g = newlist;     while(temp->data != cari)     {         temp = temp->next;     }     newlist->next = temp->next;     temp->next = newlist; } void addbelakang(int dat...

Quick sort

#include <stdio.h> #include <stdlib.h> /* Deklarasi Global */ int tabInt[6] = {6,7,8,3,4,5}; /* Prosedur Pivot Pinggir */ void pivotPinggir(int l, int r) {     int i,j,temp;     i=l;     j=r;          do     {         //Looping pivot kiri jalan ke kanan         while((tabInt[i]<tabInt[r]) && (i<=j))         {             i=i+1;         }                  //Looping pivot kanan jalan ke kiri         while((tabInt[j]>tabInt[l]) && (i<=j))         {             j=j-1;         }                  if(i<j)         {             //Swap nilai array   ...

Insertion Sort

 #include <stdio.h> int main() {     int arr[10] = {9,8,4,2,1,7,2,1,0,9};     int i;     int temp;     int j;     for(i = 1;i<10;i++)     {         temp = arr[i];         j = i-1;                  while((temp< arr[j]) && (j>=0))         {             arr[j+1] = arr[j];             j = j-1;                      }         arr[j+1] = temp;      }        for(i = 0;i<10;i++)     {         printf("%d",arr[i]);     } }

Selection Sort

#include <stdio.h> //int arr[] : input output  //batas : int void selectionsort(int arr[],int batas) {     int i;     int minindex;     int tukar;     int j;     for(i = 0;i<(batas-1);i++)     {         minindex = i;         for(j = i+1;j<batas;j++)         {             if(arr[minindex] > arr[j])             {                 minindex = j;             }         }         tukar = arr[i];         arr[i] = arr[minindex];         arr[minindex] = tukar;     }      } int main() {     int arr[5] = {3,1,5,6,7}; //deklarasi array     selectionsort(arr,5);     int i;     for(i = 0;i<5;...

Penerapan Divide and conquer dalam Quick Sort

 #include <stdio.h> int arr[8] = {5,2,7,6,1,8,9,3}; int partition(int low,int high)  {     int i;     int j;     int pivot;     int temp;     pivot = arr[low];     i = low;     j = high;     while(i<j)     {         while(arr[i]<pivot)         {             i++;         }     while(arr[j]>pivot)     {         j--;     }     temp = arr[i];     arr[i] = arr[j];     arr[j] = temp;     }     return j; } void quicksort(int low,int high) //Divide {     int j;     if(low<high)     {         j = partition(low,high);         quicksort(low,j);         quicksort(j+1,high);     } } int main() { ...

WOMBAT HADIAH

Gambar
  /****************************************************************************** Welcome to GDB Online. GDB online is an online compiler and debugger tool for C, C++, Python, Java, PHP, Ruby, Perl, C#, VB, Swift, Pascal, Fortran, Haskell, Objective-C, Assembly, HTML, CSS, JS, SQLite, Prolog. Code, Compile, Run and Debug online from anywhere in world. *******************************************************************************/ #include <stdio.h> int DAPAT_HADIAH(int jumlah1,int jumlah2) {     if(jumlah1 % 2 != 0  && jumlah2 % 2 == 0)     {         return 1;     }else     {         return 0;     } } int main() {  int i;     int jumlah1;     jumlah1 = 0;     int jumlah2 = 0;     int arr[9] = {1,2,3,4,5,6,7,8,9};     for(i = 0;i<9;i++)     {         if(arr[i] % 2 == 0)     ...

total Faktorial dari 3 buah bil ganjil ~ Translasi dari Py oleh Doni Andrian

 #include <stdio.h> /* Menghitung faktorial dari 3 buah bilangan  Johannes Alexander Putra Ft.Doni Andrian */ int main() {          int n = 3;     int x;     int faktorial  = 1;     int sum  = 0 ;     x = n *2;     int i;     for(i = 1;i<=6;i++)     {        faktorial = faktorial * i;        if(i%2 != 0)        {            printf("%d!",i);            if(i!=(n*2-1))            {                printf("+");            }            sum = sum + faktorial;        }             }     printf("\n");     printf("jumlah %d",sum);     return 0; }

N-tree-er dalam bahasa c yang mudah dipahami

 #include <stdio.h> #include <stdlib.h> /* N tree implementasi Binary Tree  Johanesalex774@gmail.com */ typedef struct Node {     char data;     struct Node * nextchild;     struct Node * nextsibling; }Node; Node * createtree(char a) {   Node * news;   news = (Node *) malloc(sizeof(Node));   news->data  = a;   news->nextchild  = NULL;   news->nextsibling = NULL;   return news; } Node * telusuriparent(char a,  Node ** tree) {     Node * temp = (*tree);     Node * child = NULL;     while(temp->data !=  a && temp->nextchild != NULL)     {         //periksa anak         child = temp->nextchild;         while(child->data != a && child->nextsibling != NULL)         {             child = child->nextsibli...

Matriks dalam bahasa c dengan prosedur

 #include <stdio.h> typedef int matriksint [8][8]; void pengisian(matriksint M, int baris, int kolom) {     int i;     int j;     for(i=0;i<baris;i++)     {         for(j = 0;j<kolom;j++)         {             scanf("%d",&M[i][j]);         }     } } void cetak(matriksint M, int baris , int kolom) {     int i;     int j;     for(i=0;i<baris;i++)     {         for(j=0;j<kolom;j++)         {             printf("%d",M[i][j]);         }     } } int main() {     matriksint M;     int baris;     int kolom;     scanf("%d",&baris);     scanf("%d",&kolom);     pengisian(M,baris,kolom);     cetak(M,baris,kolom); return...

Matriks Transpose Implementasi dalam bahasa C

 /****************************************************************************** Matriks Transpose Johannes Alexander Putra *******************************************************************************/ #include <stdio.h> int main() {     int i,j;     int matriks1[3][2];     int matriks2[2][3];     for(i = 0;i<3;i++)     {         for(j = 0;j<2;j++)         {             scanf("%d",&matriks1[i][j]);                      }     }     for(i = 0;i<3;i++)     {         for(j = 0;j<2;j++)         {            matriks2[j][i] = matriks1[i][j];                                  }     }     ...

Nilai terbesar dari 2 buah matriks berukuran sama

 #include <stdio.h> int main() {     int baris;     int kolom;     int jumlah;     int i;     int j;        scanf("%d",&baris);     scanf("%d",&kolom);     int matriks1[baris][kolom];     int matriks2[baris][kolom];     int matriks3[baris][kolom];     for(i=0;i<baris;i++)     {         for(j=0;j<kolom;j++)         {             scanf("%d",&matriks1[i][j]);                      }     }     for(i=0;i<baris;i++)     {         for(j=0;j<kolom;j++)         {             scanf("%d",&matriks2[i][j]);         }     }     for(i=0;i<baris;i++)     {   ...

PERKALIAN MATRIKS 2X2 DALAM BAHASA C

 /* perkalian matriks */ #include <stdio.h> int main() {     int matriks1 [2][2];     int matriks2 [2][2];     int matriks3 [2][2];     int i;     int j;     int kali;     for(i = 0;i<2;i++)     {         for(j=0;j<2;j++)         {             printf("masukan angka matriks1 \n");             scanf("%d",&matriks1[i][j]);         }     }     for(i = 0;i<2;i++)     {         for(j=0;j<2;j++)         {             printf("masukan angka matriks2 \n");             scanf("%d",&matriks2[i][j]);         }     }       for(i = 0;i<2;i++)     {         for(j=0;j<2;...

QUEUE DALAM BAHASA C

#include <stdio.h> #include <stdlib.h> #include <string.h> #define Maxsize 7 typedef struct queue {     int head;     int tail;     int data[Maxsize]; }queue; void inialisasi(queue *q) {     q->head = -1;     q->tail = -1; } int isFull(queue  *q) {     if(q->head == 0 &&  q->tail == (Maxsize-1))         return 1;     else if((q->head) - (q->tail) == 1)     {     return 1; }     else { return 0; } } int isEmpty(queue *q) {     if(q->head == -1 && q->tail == -1)     {         return 1;     }     else     {         return 0;     } } void enQueue (queue *q,int data) {     if(isFull(q) ==0)     {          if(q->head == -1)     {   ...

Piramid angka

 #include <stdio.h> int main() {     int i;     int j;     int n;     int y;     scanf("%d",&n);     for(i=1;i<=n;i++)     {         for(j=n;j>i;j--)         {             printf(" ");         }         for(j=i;j<i*2;j++)         {            y = j % 10;            printf("%d",y);         }         for(j=2*(i-1);j>=i;j--)         {             y  = j % 10;             printf("%d",y);         }           printf("\n");     }   return 0; }

Pola diamond

 #include <stdio.h> int main() {   int i;   int j;   int n;   scanf("%d",&n);   for(i=1;i<=n;i++)   {       for(j=n;j>=i;j--)       {           printf(" ");       }       for(j=1;j<=i;j++)       {           printf("* ");       }       printf("\n");        }   for(i=1;i<n;i++)   {       for(j=1;j<=i+1;j++)       {           printf(" ");       }       for(j=(n-1);j>=i;j--)       {           printf("* ");       }       printf("\n");   }   return 0 ;    }     

Mencari nilai terbesar matriks

 #include <stdio.h> int main() {     int baris;     int kolom;     int batas;     int jumlah;     int i;     int j;     scanf("%d",&batas);     scanf("%d %d",&baris,&kolom);     int matriks1[baris][kolom];     int matriks2[baris][kolom];     int matriks3[baris][kolom];     for(i=0;i<baris;i++)     {         for(j=0;j<baris;j++)         {             scanf("%d",&matriks1[i][j]);         }     }      for(i=0;i<baris;i++)     {         for(j=0;j<kolom;j++)         {             scanf("%d",&matriks2[i][j]);         }     }     for(i=0;i<baris;i++)     {       ...

Mencari tahu jumlah hari dalam C

 #include <stdio.h> /*program : Mencari tahu jumlah hari  *Penulis : Johannes Alexander Putra  *email   : johanesalex774@gmail.com */ int main() {     int bulan;     int tahun;     int hari;     scanf("%d",&bulan);     scanf("%d",&tahun);   if(bulan == 1 || bulan == 3 || bulan == 5 || bulan == 7 || bulan == 8 || bulan == 10 || bulan == 12)   {       hari = 31;   }else if(bulan != 2)   {       hari = 30;   }else if(bulan == 2)   {       if((tahun % 4 == 0 && tahun % 100 != 0) || tahun % 400 == 0 )       {           hari = 29;       }else       {           hari = 28;       }   }   printf("%d",hari);    return 0; }

Modus

 #include <stdio.h> int main() {     int n;     int i;     int m[10];     int maksimal;     int apa[30];      int q;     scanf("%d",&n);     for(i=0;i<n;i++)     {         scanf("%d",&apa[i]);     }     for(i=0;i<=10;i++)     {         m[i] = 0;              }       for(i=0;i<n;i++)     {         switch (apa[i])         {           case 0:           m[0] = m[0]+1;           break;           case 1:           m[1] = m[1]+1;           break;                      }     }      ...

Pola

 #include <stdio.h> int main() {     int bintang;     int baris;     int kolom;     int batas;     int bagianbawah;     printf("Masukan jumlah bintang \n");     scanf("%d",&bintang);     if(bintang % 2 == 0)     {         bagianbawah = bintang/2;         batas = bintang-2;              }else     {         bagianbawah = (bintang/2)+1;         batas = bintang-1;              }     for(baris = 1; baris <=((int)(bintang/2));baris++)     {         for(kolom = 1 ;kolom <=(baris-1);kolom++)         {             printf(" ");         }         for(kolom = 1;kolom <=bintang;kolom++)     ...

swastika

 #include <stdio.h> void pola(int n) {     int i;     int j;     int k;         k = (n/2)+1;     for(i=1;i<=n;i++)     {         for(j=1;j<=n;j++)         {             if(i==k||j==k||(i==1)&&(j<k)||(j==1)&&(i>k)||(j==n)&&(i<k)||(i==n)&&(j>k))             {                 printf("*");             }else             {                 printf(" ");             }         }         printf("\n");     } } int main() {     int n;     scanf("%d",&n);     if(n>=5 && n % 2 == 1)     {     ...

KPK

 #include <stdio.h> int kpk(int a,int b) {       int i;  int hasil = 0;  if(a<b)  {      i = a;      a = b;      b = i;  }  do  {      hasil = hasil+b;        }while(hasil % a != 0);  return hasil;         } int main() {     int a, b;     printf("MASUKAN NILAI A: \n");     scanf("%d",&a);     printf("Masukan nilai B : \n");     scanf("%d",&b);     printf("%d",kpk(a,b));      }

FPB

 #include <stdio.h> int fpb(int a, int b) {     int bagi;     bagi = a%b;     while(bagi != 0)     {         a = b; // a = 18. b= 12'         b = bagi;//6         bagi = a%b;//0     }     return b;      } int main() {     int a, b;     printf("MASUKAN NILAI A: \n");     scanf("%d",&a);     printf("Masukan nilai B : \n");     scanf("%d",&b);     printf("%d",fpb(a,b));      }

UNTUK SEGITIGA BINTANG

#include <stdio.h> int main() {     int i;     int j;     int q;     scanf("%d",&q);     for(i=0;i<q;i++)     {         for(j=0;j<=i;j++)         {             printf("*");         }         printf("\n");     }     for(i=0;i<(q-1);i++)     {         for(j=0;j<=((q-2)-i);j++)         {             printf("*");         }         printf("\n");     } }

segitiga

 #include <stdio.h> int main() {     int i;     int j;     for(i=0;i<5;i++)     {         for(j=0;j<=i;j++)         {             printf("*");         }         printf("\n");     } return 0; }

revisi halaman 246

 #include <stdio.h> #include <string.h> int main() { int bilangan; int pembagian; int i; char abc[50]; char z[2]; scanf("%d",&bilangan); scanf("%d",&pembagian); do {          printf("%d / %d = %d sisa %d \n",bilangan,pembagian,bilangan/2,bilangan %2);     bilangan = bilangan/2;     if(bilangan % 2 == 1)     {         strcpy(z,"1");              }else if(bilangan % 2 == 0)     {         strcpy(z,"0");     }     strcat(abc,z);      }while(bilangan != 0); printf("%s",abc); return 0; }

Mengonversi desimal ke biner

 #include <stdio.h> int main() { int bilangan; int pembagian; int i; scanf("%d",&bilangan); scanf("%d",&pembagian); do {          printf("%d / %d = %d sisa %d \n",bilangan,pembagian,bilangan/2,bilangan %2);     bilangan = bilangan/2;           }while(bilangan != 0); return 0; }

Perpangkatan

#include <stdio.h> int main() {     int masukan; int hasil; int pangkat; printf("masukan bilangan yang hendak anda pangkatkan: \n"); scanf("%d",&masukan); hasil = 1; printf("berapa kali: \n"); scanf("%d",&pangkat); if(pangkat > 0) {     int i; for(i=1;i<=pangkat;i++) {     hasil = hasil * masukan; } printf("%d",hasil); }else if (pangkat == 0) {     printf("1"); } }

tangga naik ke atas

  #include <stdio.h> int main() {    int i;    int j;    int n;    scanf("%d",&n);    for(i=1;i<=n;i++)    {        for(j=1;j<=n;j++)        {            if(i+j == n+1)            {                printf("*");            }            else            {                printf(" ");            }                    }        printf("\n");    }     return 0; } #include <stdio.h> int main () {   int i;   int j;   int n;   scanf ("%d", &n);   int spasi = n;   for (i = 0; i < n; i++)   ...

Beberapa contoh implementasi mudahh untuk tangga bintang turun kebawah

 #include <stdio.h> int main() {     int i;     int j;     for(i=1;i<=5;i++)     {         for(j=1;j<=5;j++)         {             if(i==j)             {                 printf("*");             }else             {                 printf(" ");             }                      }         printf("\n");     } return  0; } #include <stdio.h> int main() {     int i;     int j;     for(i=1;i<=5;i++)     {         for(j=1;j<=i;j++)         {           printf(" "); ...

Program untuk membuat tanda silang dengan masukan harus berupa bilangan ganjil

 /****************************************************************************** Welcome to GDB Online. GDB online is an online compiler and debugger tool for C, C++, Python, Java, PHP, Ruby, Perl, C#, VB, Swift, Pascal, Fortran, Haskell, Objective-C, Assembly, HTML, CSS, JS, SQLite, Prolog. Code, Compile, Run and Debug online from anywhere in world. *******************************************************************************/ #include <stdio.h> int main() {   int i;   int j;   printf("Masukan bilangan: \n");   int N;   scanf("%d",&N);   if(N%2 == 1)   {       for(i=1;i<=N;i++)   {       for(j=1;j<=N;j++)       {           if(i==j)           {               printf("*");           }else if(i+j == N+1)           {           ...