2017-05-22 21 views
-1

1つの配列の要素を複数のチャンクに分割し、次にこのデータのまとまり別の配列にコピーされます。次のようにあなたはエイダに部分配列のコピーを行うことができます私は、最初の配列がlogicalyチャンクに分割されることを意味して、全体が1列から別の1つの配列の要素を別の配列にコピーする方法

+1

[mcve]で試したことをお見せしてください。それが立っているので、私はあなたの問題が何であるかほとんど考えていません。 –

答えて

3

に要素ごとのコピーではありません。

type Array_Range_T is range 1 .. 10; 

type Array_T is array (Array_Range_T) of Integer; 

a : Array_T; 
b : Array_T; 
c : array (Array_Range_T) of Integer; 

... 

a (2 .. 4) := b (6 .. 8); 

に留意されたいです。ソースとデスティネーションのインデックスは互換性があり、同じサイズでなければなりません。

変更注:ありがとうございます。私はrangeと互換性を考慮して答えを修正しました。さらに、配列が同じ要素型、同じインデックスおよびサイズを持つ場合、Array_T (c)などを使用して、ある配列を別の配列に変換できます。

+2

これはコンパイルされないのではないかと思います。第1の問題は、型宣言に 'range'がありません:' Array_Range_T型は範囲1.10; 'です。二つ目は 'a'と' b'は異なる(匿名の)型であり、代入互換ではないということです。 –

+0

私はちょうど私が習っていることができるでしょうか今すぐガイドしてください –

+0

@HidayatUllah:あなたはAdaを習っているので、[改訂](https://stackoverflow.com/posts/44117998/revisions) ](https://stackoverflow.com/questions/44116853/how-to-copy-chunk-of-data-from-one-array-to-another-in-ada#comment75263786_44117998)。両方のコードをコード内で試してみてください。それでも問題が解決しない場合は、質問を編集して課題の目標を明確にし、修正されたアプローチを示す[mcve]を追加してください。 – trashgod

関連する問題