Find a Symmetric matrix of order N that contain integers from 0 to N | Function to generate the required matrix ; Form cyclic array of elements 1 to n - 1 ; Store initial array into final array ; Fill the last row and column with 0 's ; Swap 0 and the number present at the current indexed row ; Also make changes in the last row with the number we swapped ; Print the final array ; Driver code
< ? php function solve ( $ n ) { $ initial_array = array ( array ( ) ) ; $ final_array = array ( array ( ) ) ; for ( $ i = 0 ; $ i < $ n - 1 ; ++ $ i ) $ initial_array [ 0 ] [ $ i ] = $ i + 1 ; for ( $ i = 1 ; $ i < $ n - 1 ; ++ $ i ) for ( $ j = 0 ; $ j < $ n - 1 ; ++ $ j ) $ initial_array [ $ i ] [ $ j ] = $ initial_array [ $ i - 1 ] [ ( $ j + 1 ) % ( $ n - 1 ) ] ; for ( $ i = 0 ; $ i < $ n - 1 ; ++ $ i ) for ( $ j = 0 ; $ j < $ n - 1 ; ++ $ j ) $ final_array [ $ i ] [ $ j ] = $ initial_array [ $ i ] [ $ j ] ; for ( $ i = 0 ; $ i < $ n ; ++ $ i ) $ final_array [ $ i ] [ $ n - 1 ] = $ final_array [ $ n - 1 ] [ $ i ] = 0 ; for ( $ i = 0 ; $ i < $ n ; ++ $ i ) { $ t0 = $ final_array [ $ i ] [ $ i ] ; $ t1 = $ final_array [ $ i ] [ $ n - 1 ] ; $ temp = $ final_array [ $ i ] [ $ i ] ; $ final_array [ $ i ] [ $ i ] = $ final_array [ $ i ] [ $ n - 1 ] ; $ final_array [ $ i ] [ $ n - 1 ] = $ temp ; $ final_array [ $ n - 1 ] [ $ i ] = $ t0 ; } for ( $ i = 0 ; $ i < $ n ; ++ $ i ) { for ( $ j = 0 ; $ j < $ n ; ++ $ j ) echo $ final_array [ $ i ] [ $ j ] , " ▁ " ; echo " STRNEWLINE " ; } } $ n = 5 ; solve ( $ n ) ; ? >