varを配列数で割り切れない場合は、できるだけ均等に分割しようとしています。可能な限り均等にvarで定義された値を可変長配列に分割します。
私は以下のことを試しました。これは、配列項目に丸められた分割を与えます。私は余りを識別し、各配列のインデックス値にできるだけ均等に分割する方法を探しています。
for n in ${!variableLengthArray[@]} ; do
divideCount=$((${variableLengthArray[$n]}/$var))
variableLengthArray[$n]=$(echo "($divideCount+0.5)/1" | bc)
done
EXAMPLE1:
入力:
var=11
variableLengthArray[0]=0
variableLengthArray[1]=0
variableLengthArray[2]=0
理想的な出力:
variableLengthArray[0]=4
variableLengthArray[1]=4
variableLengthArray[2]=3
EXAMPLE2:
入力:
var=33
variableLengthArray[0]=0
variableLengthArray[1]=0
variableLengthArray[2]=0
variableLengthArray[3]=0
variableLengthArray[4]=0
variableLengthArray[5]=0
理想的な出力:
variableLengthArray[0]=6
variableLengthArray[1]=6
variableLengthArray[2]=6
variableLengthArray[3]=5
variableLengthArray[4]=5
variableLengthArray[5]=5
私もあるかもしれませんまずそれを言う...あなたは何を試しましたか? (そして、ボーナスとして、「可能な限り均等に」定義することができれば素晴らしいでしょう。) – jas
あなたの「ルール」が何であるかを口頭で説明すると、このQをあいまいにするのに役立ちます。私は4つの入力と3つの出力を見る。私には「均等に分割」され、2つのアウトプットを意味します。ここでも、3入力ではなく6入力と6出力です。入力の最初の行、つまり 'var = 33 'は入力の一部です(出力ではありません)。そうでなければ、問題の文脈ではどういう意味ですか? – shellter
ご迷惑をおかけしますが、ご意見、ご感想などをご覧ください – user1654528