Filehost.ro - gazduire fisiere
Houssey
Un forum unde va puteti distra si vb liber despre orice...deci va astept sa postati cat mai mult posibil :))
Nou pe simpatie:
glamour35
Femeie
24 ani
Constanta
cauta Barbat
28 - 69 ani
HousseyReguliInregistrareLoginPozeNu sunteti logat. Lista Forumurilor Pe Tematici
Houssey / Programare in C++ /

Problema grafuri-Algoritmul Roy-Warshall

Pagini: 1 Moderat de mihaispr
#1
mihaispr
Moderator
Postari: 68
//Algoritmul Roy-Warshall

#include<conio.h>
#include<stdio.h>


int a[20][20],k,n,i,j,dr[20][20];

void roywar(int i, int j)
{
if (a[i][j]==1) dr[i][j]=1;
else {for(k=1;k<=n;k++)
      for (i=1;i<=n;i++)
      for (j=1;j<=n;j++)
       if (dr[i][j]==0) dr[i][j]=(dr[i][k])&&(dr[k][j]);
       }
}



void main(void)
{
clrscr();
printf("dati n:");scanf("%d",&n);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
  printf("a[%d][%d]=",i,j);scanf("%d",&a[i][j]);
  a[i][i]=0;
}
printf("nschema grafului este:nn");
for(i=1;i<=n;i++)
{
  for(j=1;j<=n;j++)
  printf("%4d",a[i][j]);
  printf("n");
}
printf("Matricea drumurilor este:n");
for(i=1;i<=n;i++)
{
  for(j=1;j<=n;j++)
  {roywar(i,j);
  printf("%4d",dr[i][j]);
  }
  }
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
{ roywar(i,j);
if (dr[i][j]==1) printf("nExista drum intre nodul %d si nodul %dn",i,j);
         else printf("nNu exista drum intre nodul %d si nodul %dn",i,j);
}
getch();
}


 
   
Pagini: 1  
Mergi la