# Function to print in-degree, out-degree, and display the adjacency matrix of a directed graph
print_graph_info <- function(adj_matrix) {
n <- nrow(adj_matrix)
# Initialize in-degrees and out-degrees
in_degrees <- numeric(n)
out_degrees <- numeric(n)
# Calculate in-degrees and out-degrees
for (i in 1:n) {
out_degrees[i] <- sum(adj_matrix[i, ])
in_degrees[i] <- sum(adj_matrix[, i])
}
# Print in-degrees and out-degrees
cat("Vertex\tIn-Degree\tOut-Degree\n")
for (i in 1:n) {
cat(i, "\t", in_degrees[i], "\t\t", out_degrees[i], "\n")
}
# Print the adjacency matrix
cat("\nAdjacency Matrix:\n")
print(adj_matrix)
}
# Example usage
adj_matrix <- matrix(c(
0, 1, 1, 0,
0, 0, 0, 1,
0, 1, 0, 0,
1, 0, 1, 0
), nrow = 4, byrow = TRUE)
print_graph_info(adj_matrix)