またまたすみません。別の配列です
Posted: 2007年6月20日(水) 22:31
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;
}
の部分で何が行われているのかがよくわかりません。これは、配列の数が偶数の時と、奇数の時で変わってくるのでしょうか?
{
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;
}
の部分で何が行われているのかがよくわかりません。これは、配列の数が偶数の時と、奇数の時で変わってくるのでしょうか?