#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#define inputfile "C:\\dothi.txt"
#define MAX 10
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
typedef struct GRAPH{
int n;
int a[MAX][MAX];
}DOTHI;
int DocMaTranKe(const char dothi[100], DOTHI &g){
FILE* f;
f=fopen(dothi,"rt");
if(f == NULL)
{
printf("Khong mo duoc file\n");
return 0;
}
fscanf(f,"%d",&g.n);
int i,j;
for(i =0; i<g.n; i++){
for(j =0; j<g.n; j++)
{
fscanf(f,"%d",&g.a[i][j]);
}
}
fclose(f);
//return 1;
}
void XuatMaTranKe(DOTHI g)
{
printf("So dinh cua do thi la %d\n", g.n);
printf("Ma tran ke cua do thi la\n");
for(int i=0;i<g.n;i++)
{
printf("\t");
for(int j=0;j<g.n;j++)
{
printf("%d",g.a[i][j]);
}
printf("\n");
}
}
int KTMaTranKeHopLe(DOTHI g)
{
for(int i=0;i<g.n;i++)
{
if(g.a[i][i] !=0)
return 0;
}
return 1;
}/**
int KTDTVoHuong(DOTHI g)
{
for(int i=0;i<g.n;i++)
{
for(int j=0;j<g.n;j++)
{
if(g.a[i][j] !=g.a[j][i]);
{
return 0;
}
}
}
return 1;
}*/
int main()
{
DOTHI g;
if(DocMaTranKe(inputfile,g)==1)
{
printf("Da lay thong tin do thi tu file thanh cong");
XuatMaTranKe(g);
printf("Bam 1 phim bat ky de kiem tra do thi");
getch();
if(KTMaTranKeHopLe(g)==1)
printf("Do thi hop le\n");
else
printf("Do thi khong hop le\n");
/*if(KTDTVoHuong(g)==1)
printf("Do thi vo huong\n");
else
printf("Do thi co huong\n");*/
}
getch();
return 0;
}
Giúp sửa lỗi lý thuyểt đồ thị
lỗi gì? đề bài? ý tưởng, giải pháp? giải thích code?
1 Like
đề bài: nhập xuất ma trận kề
lỗi: không xuất ra ma trận