Mencari Alternatif Panjang Simpul Graph

Tadi Praktikum MTK Diskret disuruh buat program  mencari alternatif jalur terpendek dari beberapa simpul graph... Tpi, akhirnya cuma bisa jadi gini doank....

Ni Source Codenya....

#include <iostream.h>
#include <conio.h>

int main(){
int AB,AC,AD,BC,BD,CD,x,n;
cout<<"\tProgram Panjang 4 Simpul Graf\n";
   
cout<<"\nMasukkan panjang AB: ";cin>>AB;
cout<<"Masukkan panjang AC: ";cin>>AC;
cout<<"Masukkan panjang AD: ";cin>>AD;
cout<<"Masukkan panjang BC: ";cin>>BC;
cout<<"Masukkan panjang BD: ";cin>>BD;
cout<<"Masukkan panjang CD: ";cin>>CD;

cout<<"\nJalur yang Di cari \n1. AD \t2. BC\n";

cari:
cout<<"\nPanjang apa yg di cari? ";cin>>x;
if (x==1)
   {cout<<"\nBisa lewat AD  : "<<AD;
    cout<<"\nBisa lewat ACD : "<<AC+CD;
    cout<<"\nBisa lewat ABD : "<<AB+BD;
    cout<<"\nBisa lewat ABCD : "<<AB+BC+CD;
    cout<<"\nBisa lewat ACBD : "<<AC+BC+BD;{
     if ((AD<AC+CD)|| (AD<AB+BC+CD))
        {cout<<"\n\nJalur AD paling pendek";}
      else if ((AC+CD<AD)|| (AC+CD<AB+BC+CD) ||(AC+CD<AB+BD))
           {cout<<"\n\nJalur ACD paling pendek";}
      else if ((AB+BD<AD)|| (AB+BD<AB+BC+CD) || (AB+BD<AC+CD))
           {cout<<"\n\nJalur ABD paling pendek";}
      else if ((AB+BC+CD<AD)|| (AB+BC+CD<AC+CD))
           {cout<<"\n\nJalur ABCD paling pendek";}
      else {cout<<"Jalur ACBD paling pendek";}}}
    

else if (x==2)
   {cout<<"\nBisa lewat BC  : "<<BC";
    cout<<"\nBisa lewat BDC : "<<BD+CD;
    cout<<"\nBisa lewat BAC : "<<AB+AC;
    cout<<"\nBisa lewat BADC : "<<AB+AD+CD;
    cout<<"\nBisa lewat BDAC : "<<BD+AD+AC;}

else {cout<<"\nPilihan gak ada / Gunakan Angka";}

cout<<"\n\nTekan 1 untuk mengulang. Jika Tidak Tekan 'Terserah'.";
cout<<"\nNgulang gak?? ";cin>>n;
if (n==1) {goto cari;}
else cout<<"\nThanks....";
getch();
return 0;}

==============
Masih butuh sedikit utak-atik nich....

Posting Komentar

0 Komentar