ma tran latinh
//ma tran vuong A goi la ma tran latinh neu moi hang moi cot cua no deu la hoan vi cua {1..n}
//nhap ma tran A va kiem tra tinh chat noi tren
#include <stdio.h>
#include <conio.h>
void nhap(int a[][30],int n)
{
int i,j;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
printf("a%d%d = ",i+1,j+1);scanf("%d",&a[i][j]);
}
}
void in(int a[][30], int n)
{
int i,j;
for(i=0;i<n;i++)
{
printf("
");
for(j=0;j<n;j++)
printf("%3d",a[i][j]);
}
}
int ktra_hang(int a[][30],int n,int i)
{
int j,t,kt=1,k=1;
for(j=0;j<n;j++)
if(a[i][j]>n||a[i][j]==0)
{
kt=0;
break;
}
j=0;
if(kt==0) k=0;
else
while(j<n&&k==1)
{
for(t=0;t<n;t++)
if(a[i][j]==a[i][t]&&t!=j)
{
k=0;
break;
}
j++;
}
return k;
}
int ktra_cot(int a[][30],int n,int j)
{
int i,t,kt=1,k=1;
for(i=0;i<n;i++)
if(a[i][j]>n||a[i][j]==0)
{
kt=0;
break;
}
i=0;
if(kt==0) k=0;
else
while(i<n&&k==1)
{
for(t=0;t<n;t++)
if(a[i][j]==a[t][j]&&t!=i)
{
k=0;
break;
}
i++;
}
return k;
}
int main()
{
int a[30][30];
int n,i,j,kt=1,t=1;
printf("nhap cap cua ma tran n = ");scanf("%d",&n);
printf("nhap ma tran :
");
nhap(a,n);
clrscr();
printf("ma tran A la: ");
in(a,n);
for(i=0;i<n;i++)
if(ktra_hang(a,n,i)==0)
{
kt=0;
break;
}
if(kt==0) t=0;
else
for(j=0;j<n;j++)
if(ktra_cot(a,n,j)==0)
{
t=0;
break;
}
if(t==0) printf("
ma tran vua nhap khong phai la ma tran latinh");
else printf("
ma tran vua nhap la ma tran latinh");
getch();
return 0;
}
Bạn đang đọc truyện trên: AzTruyen.Top