プロが教える店舗&オフィスのセキュリティ対策術

for文を使って、配列xの並びを逆順にしたものを配列yにコピーするプログラムを作りたいのですがうまくいきません。どうすればよいでしょうか?
#include<iostream.h>

int main(void){
int i,j;
int x[5]={1,2,3,4,5};
int y[5];
for(i=4;i>=0;i--){
for(j=0;j<5;j++){
x[i]=y[j];
}
}
for(j=0;j<5;j++)
cout<<y[j]<<endl;
return 0;
}

A 回答 (2件)

理由


・yは、まだ何も入っていません。
・2重ループで回しているのでx[i]は必ずy[4]になっています。
なので、
for(i=4;i>=0;i--){
 for(j=0;j<5;j++){
  x[i]=y[j];  ←ここ
 }
}
を、
for(i=4;i>=0;i--){
 y[4-i]=x[i];
}
に変更します。
    • good
    • 2
この回答へのお礼

解決しました。更にxとy逆でしたね;;
ありがとうございました。

お礼日時:2007/01/13 20:51

代入の向きからして間違っている。


基礎からやりなおし。
    • good
    • 2

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!