цыкл са значэннямі матрычных

У мяне ёсць група значэнняў і мне патрэбны канкрэтны вынік:

я маю на табліцы гэтыя значэння:

           id | value
           1  |  1/4
           2  |  5/1
           3  |  4/1
           4  |  6/1
           5  |  2/1
           6  |  3/1

<�Моцны> Што я спрабую зрабіць:

    A | B   | C   | D   | 
A | 1 | 1/4 | 5/1 | 4/1 | 
B |   | 1   | 6/1 | 2/1 |
C |   |     |  1  | 3/1 |
D |   |     |     | 1   | 

У мяне толькі 6 значэнняў, і я выгляд, выхад 10 значэнняў

Выхад прызначаны:

$matrix[0][0] = 1/1;
$matrix[0][1] = 1/4;
$matrix[0][2] = 5/1;
$matrix[0][3] = 4/1;

$matrix[1][1] = 1/1;
$matrix[1][2] = 6/1;
$matrix[1][3] = 2/1;

$matrix[2][2] = 1/1;
$matrix[2][3] = 3/1;

$matrix[3][3] = 1/1;

Я спрабую нешта падобнае, але без паспяхова:

while ($sql -> fetch()) {
        for ($i = 0; $i < (//something); $i++) {
            for ($x = 0; $x < (//something); $x++) {
            $matrix[$i][$i+1] = $result;
            }
        }
    }

любая ідэя? дзякуй

4
Пытанне абнаўляецца. Гэта алгарытм МАІ.
дададзена аўтар daniel__, крыніца
@Babu пытанне абнаўляюцца да 4 значэнняў (4 * 4 матрыцы)
дададзена аўтар daniel__, крыніца
Што ты робіш?
дададзена аўтар xdazz, крыніца
@loops Я пачатковец у МАІ алгарытму. вы можаце прадаставіць больш дадзеных аб тым, як выбраць з 4-х радкоў, будзе выглядаць і адборнае на 5 радкоў будзе выглядаць
дададзена аўтар Naveen Babu, крыніца

1 адказы

Калі ласка, паспрабуйце ажыццявіць гэта ў PHP. ніжэй з'яўляецца Java-код для вашай логікі.

Integer[] singleDim = new Integer[] {2,3, 2};
int matrixSiz = 3;      //this value has to be set manually. 
                    //i didnt get time to find the logic for this 

Integer[][] twoDim = new Integer[matrixSiz][matrixSiz];
int counter = 0;      //this iterates through singleDim array
//logic being done for convesion
for (int i = 0; i < matrixSiz; i++) {
    for (int j = 0; j < matrixSiz; j++) {
        if (i==j) {
            twoDim[i][j]=1;  //setting the diagonal as 1
        }else if (j>i){    //important condition to find the upper part of the matrix
            twoDim[i][j]=singleDim[counter++];
        }
    }
}
//printing it.
for (int i = 0; i < matrixSiz; i++) {
    System.out.println();        //new line
    for (int j = 0; j < matrixSiz; j++) {
        if(twoDim[i][j]==null)
            System.out.print("\t");
        else 
            System.out.print("\t"+twoDim[i][j]);
    }
}

Output

1   2   3
    1   2
        1

Вышэй логіка павінна працаваць шляхам змены singleDim і matrixSiz для любых дадзеных.

0
дададзена