int main()
{
int i;
int va[5]={15,20,30};
int vb[5];
for(i=0;i<5;i++)
vb=va;
puts("va vb");
puts("-------");
for(i=0;i<5;i++)
printf("%3d%3d\n",va,vb);
return(0);
}
のプログラムから配列vaの要素の並びを逆順にしたものをvbにコピーせよという課題は、
初期化の部分を置き換えた下記のプログラムで良いんですか?なんかしっくりこないんです。配列が。
int main()
{
int i;
int va[5]={0,0,30,20,15};
int vb[5];
for(i=0;i<5;i++)
vb=va;
puts("va vb");
puts("-------");
for(i=0;i<5;i++)
printf("%3d%3d\n",va,vb);
return(0);
}
(別問題)
int main()
{
int i;
int vx[5];
for(i=0;i<5;i++){
printf("vx[%d]:",i);
scanf("%d",&vx);
}
for(i=0;i<2;i++){
int temp=vx;
vx[i]=vx[4-i];
vx[4-i]=temp;
}
for(i=0;i<5;i++)
printf("vx[%d]=%d\n",i,vx[i]);
return(0);
}
配列の全要素を逆順に並び替えるというプログラムなのですが、
for(i=0;i<2;i++){
int temp=vx[i];
vx[i]=vx[4-i];
vx[4-i]=temp;
}
の部分で何が行われているのかがよくわかりません。これは、配列の数が偶数の時と、奇数の時で変わってくるのでしょうか?
またまたすみません。別の配列です
Re:またまたすみません。別の配列です
> のプログラムから配列vaの要素の並びを逆順にしたものをvbにコピーせよという課題は、
> 初期化の部分を置き換えた下記のプログラムで良いんですか?なんかしっくりこないんです。配列が。
va[/url]の初期化状態を変えずに、並び順を逆にした内容を
vb[/url]に入れる、ということを出題者は望んでいると思います。
つまり、こういうことです。
・va[0]をvb[4]に入れる
・va[1]をvb[3]に入れる
・va[2]をvb[2]に入れる
・va[3]をvb[1]に入れる
・va[4]をvb[0]に入れる
va[/url]の添字とvb[/url]の添字との間に、どういう関係があるでしょうか?
> (別問題)
ご自分がコンピュータになったつもりで、
コードを1行ずつ実行してみてください。
関係する変数の値がどのように変わっていくかを見ていけば、
どのような動きをしているかが体感できるかもしれません。
> 初期化の部分を置き換えた下記のプログラムで良いんですか?なんかしっくりこないんです。配列が。
va[/url]の初期化状態を変えずに、並び順を逆にした内容を
vb[/url]に入れる、ということを出題者は望んでいると思います。
つまり、こういうことです。
・va[0]をvb[4]に入れる
・va[1]をvb[3]に入れる
・va[2]をvb[2]に入れる
・va[3]をvb[1]に入れる
・va[4]をvb[0]に入れる
va[/url]の添字とvb[/url]の添字との間に、どういう関係があるでしょうか?
> (別問題)
ご自分がコンピュータになったつもりで、
コードを1行ずつ実行してみてください。
関係する変数の値がどのように変わっていくかを見ていけば、
どのような動きをしているかが体感できるかもしれません。