配列int X[x_size]
が与えられたら、新しい配列int Y[x_size * x_size]
を作成し、X
の値を順番にコピーしたいと思います。配列のサイズを同じパターンで繰り返す
たとえば、X = {0, 1, 2}
と指定した場合、配列Y
は{0, 1, 2, 0, 1, 2, 0, 1, 2}
になります。
int main(int argc, const char * argv[]) {
int x[3] = [0,1,2];
int * y = makeY(a,3);
}
int * makeY(int x[], int size) {
int *y = new int[size * size];
for(int i = 0; i < size; size+=2)
for(int j = i; j < j + (size - 1); j++)
for (int i = 0; i < size; i++)
y[j+i] = x[i];
return y;
}
サイズ(X)= 3とサイズ(Y)= 9。何かが間違っている "Yは二重の大きさになる"、あなたの例を確認したりしてくださいあなたの説明。 – Rakete1111
私はあなたがサイズを二乗するのではなく二倍にすることを意味すると推測しますが、 'size + = 2'はまだ変わっています – Ap31
質問がありますか?何か動作していないのですか?より具体的にする必要があります – Tas