ايران ويج

نسخه‌ی کامل: درخواست برنامه پیاده سازی الگوریتم پریم
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام من نیاز به برنماه ای دارم که در اون الگوریتم پریم پیاده سازی شده باشه به هر زبانی فرق نمی کنه ولی cباشه بهتره فقط خیلی فوریه ممنون مسشم کمکم کنین
(۲۲-آذر-۱۳۸۹, ۱۲:۰۶:۵۰)homay نوشته است: [ -> ]سلام من نیاز به برنماه ای دارم که در اون الگوریتم پریم پیاده سازی شده باشه به هر زبانی فرق نمی کنه ولی cباشه بهتره فقط خیلی فوریه ممنون مسشم کمکم کنین

سلام این موضوع تکراری می باشد.

الگوریتم پریم
کد:
#include <stdio.h>
#include <conio.h>
#include <iostream.h>

struct krus{
        int v1;
        int v2;
        int weight;
};

int perim (int set[],struct krus edge[],int n,int m);
void sort(struct krus ed[],int m);



void main()
{
  clrscr();
  int n,m;

  cout<<"Input Num Vertex : ";
  cin>>n;
  int set[10];
  for (int i=0;i<n;i++)
     set[i]=i;

  cout<<"Input Num Yal : ";
  cin>>m;
  struct krus edge[20];

  for (i=0;i<m;i++)
  {
   cout<<" Num V1 : ";  cin>>edge[i].v1;
   cout<<" Num V2 : ";  cin>>edge[i].v2;
   cout<<" Weight : ";  cin>>edge[i].weight;
   gotoxy(wherex()+30,wherey()-2);
   cout<<"("<<edge[i].v1<<","<<edge[i].v2<<") => W :"<<edge[i].weight<<"\n";
   gotoxy(1,wherey()+2);
  }
   cout<<"\nWeight Is : "<<perim(set,edge,n,m);
  getch();
}
//***********************************************
int perim(int set[],struct krus edge[],int n,int m)
{
int fe=0;
int p=0;
struct krus e;
while (fe<n-1)
{
  //********************************
  int y=0;
  e.weight=0;
  for (int i=0;i<m;i++)
    if ((set[edge[i].v1]==0 && set[edge[i].v2]!=0) || (set[edge[i].v2]==0 && set[edge[i].v1]!=0))
       {
     if(y==0)
       {
         e=edge[i];
         y++;
        }
     else
        if (e.weight>edge[i].weight)
        e=edge[i];
       }
   //**********************************
  if (y!=0)
  {
   p+=e.weight;
   cout<<"("<<e.v1<<","<<e.v2<<") => W :"<<e.weight<<"\t";
   set[e.v1]=0;
   set[e.v2]=0;
   fe++;
  }
   else
      break;
  }
  return p;

}

http://www.iranled.com/forum/thread-23539.html