سلام کسی کد پیاده سازی الگوریتم پریم درس طراحی الگودیتم رو به زبان cداره
سلام کسی کد پیاده سازی الگوریتم پریم درس طراحی الگودیتم رو به زبان 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;
int k=0;
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;
if (edge[i].weight>k){
k=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 : "<<k;//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;
}
salam mamnonn az kodet kar mikone faghat mishe tozihat mokhtasari raje be kod bedi
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)