Postingan
Menampilkan postingan dari 2014
program algoritma djikstra
- Dapatkan link
- Aplikasi Lainnya
#include <cstdlib> #include <iostream> #define max 20 #define infinity 9999 using namespace std; class dijkstra{ private: int n; int graph[max][max]; int colour[max]; int start; int distance[max]; int predecessor[max]; enum {green,yellow,red}; public: void read_graph(); void initialize(); int select_min_distance_lable(); void update(int); void output(); void function(); }; void dijkstra::read_graph(){ cout<<"masukkan jumlah node = "; cin>>n; cout<<"masukkan nilai matrik untuk graf ::\n"; int i,j; for(i=1;i<=n;i++){ for(j=1;j<=n;j++){ cout<<"["<<i<<"],["<<j<<"]=";
Program Algoritma Prim
- Dapatkan link
- Aplikasi Lainnya
#include <cstdlib> #include <iostream> using namespace std; class prims { private: int n; //no of nodes =>tidak ada node int graph_edge[250][4]; //edges in the graph =>tepi dalam grafik int g; //no of edges in the graph => tidak ada dari tepi dalam grafik int tree_edge[250][4]; //edges in the tree => tepi di pohon int t; //no of edges in the tree => tidak ada tepi di pohon int s; //source node =>node sumber //Partition the graph in to two sets => Partisi grafik ke dua set int T1[50],t1; // Set 1 int T2[50],t2; // Set 2 public: void input(); int findset(int); void algorithm(); void output(); }; void prims::input() { cout<<"*************************************************\n" <<" program implements the prims algorithm \n" <<"*************************************************\n"; cout<<"Enter the no. of nodes in the undirected weighted graph/"<<endl; cout<<"Masukkan no tersebu
Program Fractional Knapsack
- Dapatkan link
- Aplikasi Lainnya
#include <cstdlib> #include <iostream> using namespace std; void SolveFract(int p[], int w[], float W, int n, int x[], float &TotalUntung){ int i; float kapasitas; bool MasihMuatUtuh; for(i=0;i<n;i++){ x[i]; } kapasitas = W; TotalUntung = 0; i = 0; MasihMuatUtuh = true; while ((i < n) && (MasihMuatUtuh)){ if (w[i] <= kapasitas){ x[i]=1; TotalUntung = TotalUntung + p[i]; kapasitas = kapasitas -w[i]; i = i + 1; } else { MasihMuatUtuh = false; } } if(i < n ){ x[i] = kapasitas / w[i]; TotalUntung = TotalUntung + x[i]*p[i]; } } int main(int argc, char *argv[]) { int w[] = {9,8,6,10}; int p[] = {20,12,10,7}; float W = 17; int n = 4; int x
Fractional Knapsack 2 (struct)
- Dapatkan link
- Aplikasi Lainnya
#include <cstdlib> #include <iostream> using namespace std; struct knapsack{ float p,w,pw,x; //profit,berat,nilai dari p/w,nilai probabilita barang yang masuk char barang; } void swap(T *c,int i,int j){ T temp; temp=c[j]; c[j]=c[i]; c[i]=temp; return;} void Pengurutan(knapsack c[], int n){ for(int i=0;i<=n;i++){ for(int j=0;i<=n;i++){ if(c[i].pw tukar(c[i],c[j]; } } } void SolveFractorialKnapsack(knapsack c[], float w, int n,float &TotalUntung){ int i; float kapasitas; bool MasihMuatUtuh; for (i=0;i<=n;i++){ c[i].x=0; } kapaitas=W; TotalUntung=0; i=1; MasihMuatUtuh=true; while ((i<=n) && (MasihMuatUtuh)){ if(c[i].w<=kapasitas){ c[i].x=1; totalUntung = totalUntung + c[i].p; kapasitas = kapaitas - c[i].w; i++ } else{ MasihMuatUtuh=false; } } if(i<=n){ c[i].x=kapaitas/c[i].w; totalUntung = totalUntung+c[i].x*c[i].p; } } int main(int argc, char *argv[]) { float c[100]; int n,W; //kapaistas char j=0; cout<<"Jumlah barang: "; cin>
Fractional Knapsack 1
- Dapatkan link
- Aplikasi Lainnya
#include <cstdlib> #include <iostream> using namespace std; void SolveFractionalKnapsack(int p[], int w[], float W, int n, int x[], float TotalUntung){ int i; float kapasitas; bool MasihMuatUtuh; for(i=1;i>n;i++){ x[i]; } kapasitas = W; TotalUntung = 0; i = 1; MasihMuatUtuh = true; while ((i <= n) && (MasihMuatUtuh)){ if (w[i] <= kapasitas){ x[i]=1; TotalUntung = TotalUntung + p[i]; kapasitas = kapasitas -w[i]; i = i + 1; } else { MasihMuatUtuh = false; } } if(i <= n ){ x[i] = kapasitas / w[i]; TotalUntung = TotalUntung + x[i]*p[i]; } } int main(int argc, char *argv[]) { int w[] = {5,8,6,10}; int p[] = {10,12,7,20}; float W = 17; int n = 4;
PROGRAM C++ PENJADWALAN PELANGGAN
- Dapatkan link
- Aplikasi Lainnya
#include <cstdlib> #include <iostream> using namespace std; struct pelanggan{ int waktu,id; }; void penjadwalanPelanggan(pelanggan p[], int a){ int i,j,temp,tukar; //tukar = 1; for(i=1; i< a-1 && tukar; i++){ //tukar = 0; for (j=a; j<i+1; j--) if (p[j].waktu < p[j-1].waktu){ //tukar = 1; temp = p[j].waktu; p[j].waktu = p[j-1].waktu; p[j-1].waktu = temp; }} for(int i=1; i<=a; i++){ p[i].id=i; cout<<"Pelanggan ke - "<<p[i].id<<" "<<" dilayani ! "; cout<<endl; } } int main(int argc, char *argv[]){ pelanggan p[100]; int a; cout<<"SAPTO NUGROHO :"<<endl; cout<<"11018043 :"<<endl; cout<<"Masukkan banyaknya pelanggan : "; cin>>a;
PROGRAM PENCOCOKAN STRING
- Dapatkan link
- Aplikasi Lainnya
#include <cstdlib> #include <iostream> using namespace std; void FungsiGagal(char P[], int F[],int m){ int i,j; F[0]=0; j=0; i=1; while(i<m){ if(P[i]==P[j]){ F[i]=j+1; i++; j++; }else if(j>0){ j=F[j-1]; }else { F[i]=0; i++; } } } int pencocokan(char T[], char P[]){ int i,j,F[100]; int m=strlen(P); int n=strlen(T); FungsiGagal(P,F,m); i=0; j=0; while(i<n){ if(T[i]==P[j]){ if(j==m-1) return i-j; else{ i++; j++; } }else if(j>0){ j=F[j-1]; }else{ i++; } } return -1; } int main(int argc, char *argv[]) { char T[1000],P[100]; cout<<"SAPTO NUGROHO "<<endl; cout<<"11018043 "<<endl; cout<<""<<endl; cout<<"Masukkan Teks : "; while(g