Question
I'm supposed to be implementing the Warshall algorithm. First I make an array and feed it values from a text file. Then I pass those
I'm supposed to be implementing the Warshall algorithm. First I make an array and feed it values from a text file. Then I pass those values through the Warshall algorithm but my output is incorrect. What am I doing wrong?
Here are the instructions:
"You may use Ada, C++, C#, Java. If you desire to use another language it must be supported by IT at Sam or on the CS network and approved prior to use by the course instructor on an individual basis. You are encouraged to use Ada, function/procedures properly but may write the program as monolithic code.
The data for the must be entered dynamically at runtime as Boolean values (True/False) and the results written to a file as Boolean values. You are encouraged to place the input data in a file and use I/O redirection (see hints) for the C option. You may use I/O redirection to store the results in a file. I/O redirection is a technique that should be mastered by all professionals both programmers and users. The results should be printed as type Boolean.
Process the information in the C Option sample network diagram using Warshalls Algorithm to compute the transitive closure. Prompt the user for the size of the array to hold the BMR (Boolean Matrix Representation, number of rows and columns) at runtime and dynamically allocate the array in the system stack in Ada, C++, or Java. "
--------------------------------------------------------------------------------------------------------
Here is my code: I will bold where I THINK I'm making a mistake
-----------------------------------------------------------------------------
import java.util.*; import java.io.*; public class Lab1 {
public static void main(String args[]) throws IOException {
//Set up scanner Scanner input = new Scanner(System.in); File inputFile = new File("input.txt"); Scanner fileRead = new Scanner(inputFile); System.out.println("Enter number of networks for the array:"); int networks = input.nextInt(); boolean[][] alpha = new boolean[networks][networks]; while (fileRead.hasNextBoolean()) { for (int i = 0; i System.out.print(alpha[j][k] + "\t"); } }System.out.println(); } }
} }
-----------------------------------------------------------------------------
Here is my current output:
Enter number of networks for the array: 7 false true false false false false false false false true true false false false false true false false false false false false false false false false false false false false false false false true true false false false false false false false false false false false false false false
Warshall true true false false false false false true true true true false false false true true false false false false false true true false false false false false true true false false false true true true true false false false false false true true false false false false false true true true true false false false true true true true false false false true true true true false false false true true true true false false false true true true true false true true true true true true false false false true true true true false false false true true true true false false false true true true true false false false true true true true false false false true true true true false false false true true true true false true true true true true true false false false true true true true false false false true true true true false false false true true true true false false false true true true true false false false true true true true false false false true true true true false true true true true true true false false false true true true true false false false true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true true
Warshall's Algorithm for finding R+ [Published in 1962] Assume an N by N Boolean Matrix Representation for a transitive Boolean relation. Warshall's Algorithm generates the transitive closure. for I := 1, 2, 000, N loop for J := 1, 2, 000, N loop if A[J,l] = true then for K := 1, 2, 900 N loop A[J,K] := A[J,k] or A[1,K]; end Loop; end if; end loop; end loopStep by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started