#include <stdio.h>
#include <conio.h>
#include<math.h>
int i,j,n;
void nhapmatran(int a[50][50])
{
printf("Nhap so phan tu cua tap hop: ");
scanf("%d",&n);
printf("\nGia su tap hop dang xet la: A={");
for (i=0;i<n-1;i++)
printf("%c, ",'a'+i);
printf("%c}",'a'+i);
//-------nhap ma tran quan he -----------
printf("\n\nNhap ma tran quan he:\n");
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
vao:
printf("\nQuan he (%c,%c): ",'a'+i,'a'+j);
scanf("%d",&a[i][j]);
if(a[i][j]!=0 && a[i][j]!=1)
{
printf("\nChi nhap 0 hoac 1 de bieu dien quan he");
goto vao;
}
}
printf("\nDa nhap xong.......");
}
//---- In quan h?----------
void inquanhe(int a[50][50])
{
int t=0;
printf("\n\nQuan he: R={");
for (i=0;i<n;i++)
for( j=0;j<n;j++)
if(a[i][j]==1)
t++;
for (i=0;i<n;i++)
for( j=0;j<n;j++)
if(a[i][j]==1)
if(t!=1)
{
printf("(%c,%c),",'a'+i,'a'+j);
t--;
}
else
printf("(%c,%c)",'a'+i,'a'+j);
printf("}");
}
//---- In ma tr?n
void inmatran(int a[50][50])
{
printf("\nMa tran quan he:\n\n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%4d",a[i][j]);
printf("\n");
}
}
void kiemtratinhchat(int a[50][50])
{
//------------- Kiem tra tinh phan xa---------------
for(i=0;i<n;i++)
if(a[i][i]==0)
{
printf("\n\n%c Quan he da cho khong co tinh phan xa.",16);
goto doixung;
}
printf("\n\n%c Quan he da cho co tinh phan xa.",16);
//-------Ki?m tra tinh doi xung -----//
doixung:
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(a[i][j]!=a[j][i])
{
printf("\n\n%c Quan he da cho khong co tinh doi xung.",16);
goto baccau;
}
printf("\n\n%c Quan he da cho co tinh doi xung.",16);
baccau:
//-----Kiem tra tinh bac cau----
for(i=0;i<n;i++)
for(j=0;j<n;j++)
for(int k=0;k<n;k++)
if(a[i][j]==1 && a[j][k]==1)
goto tiep;
printf("\n%c Quan he da cho khong co tinh bac cau.\n\n",16);
goto thoat;
tiep:
for(i=0;i<n;i++)
for(j=0;j<n;j++)
for(k=0;k<n;k++)
if(a[i][j]==1 && a[j][k]==1 && a[i][k]==0)
{
printf("\n%c Quan he da cho khong co tinh bac cau.\n\n",16);
goto thoat;
}
printf("\n%c Quan he da cho co tinh bac cau.\n\n",16);
thoat:
getch();
}
void main()
{
clrscr();
int a[50][50];
nhapmatran(a);
inquanhe(a);
inmatran(a);
kiemtratinhchat(a);
}
bạn cho mình hỏi đoạn dòng ghi n\n%c Quan he da cho khong co tinh.,16); 16 có ý nghĩa gì thế sao đoạn printf có n%c là sao
Trả lờiXóa%c thực ra nó lấy kiểu định dạng kí tự in ra đó bạn.
Trả lờiXóa16 ở đây là mã ASCII
VD: với số nguyên thì %d,kiểu số thực thì %f chẳng hạn :)