Gawkの前方差三角形

Gawkの前方差三角形

スクリプトが必要ですgawk(1行のスクリプトではなく関数が必要です)。整数行が与えられると、つまり

0 2 4 1 9 5 1 1

この関数は連続した順方向絶対差を生成する必要があるため、次のようになります。

0 2 4 1 9 5 1 1
 2 2 3 8 4 4 0
  0 1 5 4 0 4
   1 4 1 4 4
    3 3 3 0
     0 0 3
      0 3
       3

これを行うにはどうすればよいですかgawk

ベストアンサー1

ここにいる

#!/usr/local/bin/awk -f 

{       
        ns = 0
        while(NF > 0) {
                for(i = 0; i < ns; i++) printf " "
                print
                for(i = 1; i < NF; i++) {
                        $i = abs($i-$(i+1))
                }       
                NF--
                ns++
        }       
}       

function abs(x) { return x < 0 ? -x : x }

おすすめ記事