• ベストアンサー

配列の重複削除について

配列の重複削除について教えて下さい。 普通の重複チェックとは違い、3つの配列 それぞれに値があり、添え字が0から同じ ように始まり、3つの配列が全て同じものは、 例えば、 配列A[2]='30' 配列B[2]='000' 配列C[2]='1' 配列A[4]='30' 配列B[4]='000' 配列C[4]='1' は、1つの添え字にまとめたい。 その3つが一致したもの重複をまとめたいのと、 新しく出た3つの値は残したいのです。 つまり、以下のように抽出したいのです。 何か良い方法があれば教えて下さい。 perlで作成しています。 注)配列Cは空白もあります。 配列A( 10, 20, 30, 10, 30, 20) 配列B(000,010,000,010,000,000) 配列C(  , 0, 1, 0, 1, 1) ↓ 配列D( 10, 20, 30, 10, 20) 配列E(000,010,000,010,000) 配列F(  , 0, 1, 0, 1)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

連想配列を使えば良いと思います。 テストしてませんが..こんな感じで。 # 配列A => @LA , 配列B => @LB , 配列C => @LC # 配列D => @LD , 配列E => @LE , 配列F => @LF for(0 .. $#LA)$X{$LA[$_],$LB[$_],$LC[$_]=$_;} for(values(%X)) { push(@LD,$LA[$_]); push(@LE,$LB[$_]); push(@LF,$LC[$_]); }

sara555
質問者

お礼

うまくできました。 有難うございました。

関連するQ&A