In: Computer Science
A JAVA program that will read a boolean matrix corresponding to a
relation R and output whether R is Reflexive, Symmetric,
Anti-Symmetric and/or Transitive. Input to the program will be the
size n of an n x n boolean matrix followed by the matrix elements.
Document your program nicely.
NOTE: The program must output a reason in the case that an input
relation fails to have a certain property.
package org.rohit.practice;
import java.util.Scanner;
public class Relation {
public static void main(String[] args) {
boolean a[][]=new boolean[50][50];
boolean reflexive=true,transitive=true,symmetric=true,anti=true;
int n,i,j,count=0;
System.out.println("Please Enter n*n Matrix containing : ");
System.out.println("Please enter size of Matrix: ");
Scanner s=new Scanner(System.in);
n=s.nextInt();
System.out.println("Please enter the elements of Matrix: ");
for(i=0;i for(j=0;j a[i][j]=s.nextBoolean(); } } for(i=0;i for(j=0;j //Checking for Reflexive if(i==j && a[i][j]==false){ reflexive=false; } //Checking for Symmetric if(i != j && ((a[i][j]== true && a[j][i]==false)
|| (a[i][j]== false && a[j][i]==true))){ symmetric=false; } //Checking for Transitive if(i != j && (a[i][j] != a[j][i]) && (a[i][j] !=
a[i][i])){ transitive=false; } //Checking for Anti Symmetric if(i!=j && a[i][j]==true){ anti = false; } } } //Printing the final Output System.out.println("Relation is: "); if(reflexive == false){ System.out.println("Not reflexive as all a[x][x] are not
true."); }else{ System.out.println("Reflexive"); } if(transitive == false){ System.out.println("Not Transitive as if a[x][y] = a[y][x] =
true then a[x][x] is false."); }else{ System.out.println("Transitive"); } if(symmetric == false){ System.out.println("Not Symmetric as if a[x][y] is true then
a[y][x] is false."); }else{ System.out.println("Symmetric"); } if(anti == false){ System.out.println("Not Anti Symmetric as if a[x][y] = a[y][x] =
true then x is not equals to y."); }else{ System.out.println("Anti Symmetric"); } } }