Matrix 计算布尔值的两个平方矩阵的乘积

Matrix 计算布尔值的两个平方矩阵的乘积,matrix,matrix-multiplication,Matrix,Matrix Multiplication,有人能给我一些关于这个问题的指导吗:写一个程序,计算两个布尔值平方矩阵的乘积,用OR运算代替+和and运算代替* 根据我对矩阵乘法的理解,如果你说下面两个矩阵A:3x3,B:3x3,C1,1是(A1,1*B1,1),(A2,1*B1,2),(A3,1*B1,3)的和。我不明白的是如何只使用AND和OR操作数 哦,请不要为我写整个程序。。。我需要自己做这件事,否则我学不到。:) 只需将+替换为|,将*替换为&&: (A1,1&&B1,1)| |(A2,1&&B1,2)| |(A3,1&&B1,3)

有人能给我一些关于这个问题的指导吗:写一个程序,计算两个布尔值平方矩阵的乘积,用OR运算代替+和and运算代替*

根据我对矩阵乘法的理解,如果你说下面两个矩阵A:3x3,B:3x3,C1,1是(A1,1*B1,1),(A2,1*B1,2),(A3,1*B1,3)的和。我不明白的是如何只使用AND和OR操作数


哦,请不要为我写整个程序。。。我需要自己做这件事,否则我学不到。:)

只需将
+
替换为
|
,将
*
替换为
&&

(A1,1&&B1,1)| |(A2,1&&B1,2)| |(A3,1&&B1,3)


假设&&和| |分别是and和OR布尔运算符。

这是一个布尔表达式,因此不能精确地相加或相乘,因为布尔值只能是0和1(
0通常为false,1通常为true
)。就像上面所说的,用或替换+,用and替换*得到布尔值。

我认为这段代码适用于2乘2的布尔矩阵。但不能说更高的平方矩阵

import java.util.Scanner;
    public class Boolean Matrix Multiplication {
       public static void main(String[] args){

        Scanner scan = new Scanner(System.in);
        System.out.println("Enter the first number : ");
        int n = scan.nextInt();

        boolean[][] b= {
                        {true, false},
                        {false, true}
                       };   
        boolean[][] a= {
                        {false, true},
                        {true, false}
                       };
        boolean[][] c = new boolean [n][n];

        for(int i = 0; i<n; i++){
            for(int j = 0; j<n; j++){
                for(int k = 0; k<n; k++){
                   c[i][j] = (a[i][k] && b[k][j]) ||(a[i][n-k-1] && b[n-k-1][j]);
                 }
                   System.out.print(c[i][j] + " ");
             }
                System.out.println();
        }

  }
}
import java.util.Scanner;
公共类布尔矩阵乘法{
公共静态void main(字符串[]args){
扫描仪扫描=新扫描仪(System.in);
System.out.println(“输入第一个数字:”);
int n=scan.nextInt();
布尔值[][]b={
{对,错},
{假,真}
};   
布尔值[][]a={
{假,真},
{对,错}
};
布尔[][]c=新的布尔[n][n];

对于(int i=0;问题的意思是将“+”替换为“或”,将“*”替换为“和”.我知道,但我如何将值与AND和ORTH一起相加?问题的意思是字面上的替换…但AND和OR用于循环中的条件,+和*是加法和乘法。我如何在不使用+和*@user1213994和AND和OR的情况下进行加法和乘法运算。试试看it@user1213994:添加一个我没有试着回答你的问题,因为我不知道怎么做……据我所知,你告诉我5+5和5&&&5@user1213994在你的问题中,首先用+和*编写程序,无论如何你都需要这样做。然后我将修改一行来处理布尔值作为示例。