通知
すべてクリア
Topic starter
2003年10月17日 2:55 PM
悩んでいます。
配列a[i]に値が1から6まで入っているとして、配列aをもとに1から3までを配列bとし
て取り出すことができたのですが4から6までを配列cとして取り出せません。
c[0]=4
c[1]=5
c[2]=6
としたいのですが、何かいい方法はございませんか。
宜しくお願いします。
2003年10月17日 3:23 PM
int a[] = { 1, 2, 3, 4, 5, 6};
int* c = a + 3;
for (int i = 0; i < 4; ++i ) {
printf(c[%d] = %d\n, i, c[i]);
}
Topic starter
2003年10月17日 3:35 PM
有難うございました。
本当にうまくいきました。
επιστημηのすばやいレスに感謝します。
有難うございました。
2003年10月17日 3:54 PM
ちなみにこの回答は「配列 c 」を作ってはいませんので念のため。
2003年10月17日 5:04 PM
配列を作る。(std::copyを使う方法もあり)
int a[] = { 1, 2, 3, 4, 5, 6 };
int b[ 3 ];
int c[ 3 ];
for( int i = 0; i < 3; ++i )
{
b[ i ] = a[ i ];
c[ i ] = a[ i + 3 ];
}
2003年10月17日 5:09 PM
> 配列を作る。(std::copyを使う方法もあり)
int a[] = { 1, 2, 3, 4, 5, 6 };
int b[ 3 ];
int c[ 3 ];
std::copy(a, a+3, b);
std::copy(a+3, a+6, c);