PHP를 사용하여 3x3 행렬을 가능한 모든 2x2 행렬로 분할

3345 단어 phpbeginners

3x3 행렬 만들기



3x3 행렬을 만들려면 배열로 시작하십시오.

$a = array(array(1,5,7),array(7,3,5),array(2,6,9));
$rows = count($a);
$cols = count($a[0]);

for ($k = 0; $k < $rows; $k++){
    for ($j = 0; $j < $cols; $j++){
        echo ($a[$k][$j]."  ");
    }
    echo ("<br>");
}


이로 인해

1 5 7
7 3 5
2 6 9


2x2 행렬 얻기



위의 3x3 행렬에서 파생될 수 있는 4개의 가능한 2x2 행렬이 있습니다.
  • 행 인덱스 0과 열 인덱스 0으로 시작하여 행과 열의 수를 하나씩 줄이십시오. (3x3 행렬이므로 2x2로 줄이고자 합니다. 행과 열은 모두 1씩 줄어듭니다.)
  • 다른 행렬을 만들려면 행을 하나씩 증가시킵니다. 열에 대해 이 단계를 반복합니다. 이번에는 행 상수를 유지합니다.

  • 첫 번째 2x2 행렬은 k = 0 및 j = 0에서 시작합니다. 그러나 코드에서 볼 수 있듯이 배열은 양쪽 끝에서 하나씩 줄어듭니다.

    for ($k = 0; $k < $rows-1; $k++){
        for ($j = 0; $j < $cols-1; $j++){
            echo ($a[$k][$j]." ");
        }
        echo ("<br>");
    }
    


    결과는 다음과 같습니다.

    1 5
    7 3
    


    이 행렬의 최대값과 최소값은 각각 7과 1입니다.

    두 번째 2x2 행렬에는 k=0에서 시작하여 k < row-1에서 끝나는 행이 있지만 열은 아래와 같이 j =1에서 시작하고 j < cols에서 끝납니다.

    for ($k = 0; $k < $rows-1; $k++){
        for ($j = 1; $j < $cols; $j++){
            echo ($a[$k][$j]." ");
        }
        echo ("<br>");
    }
    


    결과는 다음과 같습니다.

    5 7
    3 5
    


    이 행렬의 최대값과 최소값은 각각 7과 3입니다.

    여기서 행은 k =1에서 시작하고 열은 j =0에서 시작합니다.

    for ($k = 1; $k < $rows; $k++){
        for ($j = 0; $j < $cols-1; $j++){
            echo ($a[$k][$j]." ");
        }
        echo ("<br>");
    }
    


    결과는 다음과 같습니다.

    7 3
    2 6
    


    이 행렬의 최대값과 최소값은 각각 7과 2입니다.

    이제 행과 열 모두 1부터 시작합니다.

    for ($k = 1; $k < $rows; $k++){
        for ($j = 1; $j < $cols; $j++){
            echo ($a[$k][$j]." ");
        }
        echo ("<br>");
    }
    
    


    결과는 다음과 같습니다.

    3 5
    6 9
    
    


    이 행렬의 최대값과 최소값은 각각 9와 3입니다.

    최소값 및 최대값 행렬

    배열을 사용하여 최소값의 다른 행렬을 형성하기 위해 최소값을 병합하려면 다음을 사용하십시오.

    #minimum value
    echo "<br>";
    $b =array(array(1,3),array(2,3));
    $rows_b = count($b);
    $cols_b = count($b[0]);
    for ($i = 0; $i < $rows_b; $i++){
        for ($l = 0; $l < $cols_b; $l++){
            echo ($b[$i][$l]."  ");
        }
        echo ("<br>");
    }
    


    결과는 다음과 같은 행렬입니다.

    1 3
    2 3
    
    


    다음을 사용하여 최대 값에 동일한 개념이 적용됩니다.

    $c =array(array(7,7),array(7,9));
    $rows_c = count($c);
    $cols_c = count($c[0]);
    for ($m = 0; $m < $rows_c; $m++){
        for ($n = 0; $n < $cols_c; $n++){
            echo ($c[$m][$n]."  ");
        }
        echo ("<br>");
    }
    


    아래의 2x2 행렬이 생성됩니다.

    7 7
    7 9
    
    

    좋은 웹페이지 즐겨찾기