Chuyển đổi các cách biểu diễn đồ thị(ma trận kề -->danh sách kề)
Mình chạy từ 1->n nha, bạn chạy từ 0->n-1 thì sửa lại tí
e "matran.txt" chứa ma trận có trọng số biểu diễn cho đồ thị..
"
4
0 1 0 0
0 0 1 1
1 0 0 0
1 0 1 0
"
yêu cầu viết chương trình đọc file "matran.txt" để chuyển đồ thị sang biểu diễn bằng danh sách kề và ghi ra file "ds.txt"
"
4
1 1
2 2 3
1 0
2 0 2
"
Mình chạy từ 1->n nha, bạn chạy từ 0->n-1 thì sửa lại tí
- Code:
#include<iostream>
#include<conio.h>
#define nm 101
using namespace std;
int n,x;
int a[nm][nm];
int s[nm];
int main()
{
freopen("matran.txt","r",stdin);
scanf ("%d",&n);
for (int i=1;i<=n;i++)
{
for (int j=1;j<=n;j++)
{
scanf ("%d",&x);
if (x)
{
s[i]++;
a[i][s[i]]=j;
}
}
}
for (int i=1;i<=n;i++)
{
printf ("%d : ",s[i]);
for (int j=1;j<=s[i];j++)
printf ("%d ",a[i][j]);
printf ("\n");
}
getch();
return 0;
}