ページ 1 / 1
配列の課題
Posted: 2007年6月20日(水) 16:48
by 徹夜
int main(void)
{
int i;
int vc[5];
for(i=0;i<5;i++)
vc=i+1;
for(i=0;i<5;i++)
printf("vc[%d]=%d\n",i,vc);
return(0);
}
先頭から順に1、2、3、4、5を代入して表示のプログラムですが
先頭から順に5、4、3、2、1を代入して表示するプログラムをつくりたい。
試行錯誤して、変えてはコンパイルしているのですが上手く実行結果になりません。
どこをどう変えたらいいのでしょうか?
Re:配列の課題
Posted: 2007年6月20日(水) 17:02
by DORAGON
for(i=5;i<1;i--);
にすればいいん良いと思います。
Re:配列の課題
Posted: 2007年6月20日(水) 17:07
by box
> for(i=0;i<5;i++)
> printf("vc[%d]=%d\n",i,vc);
出力の際、iは0から4まで1ずつ増やしながら変化しています。
これを、4から0まで1ずつ減らしながら変化するようにしてください。
Re:配列の課題
Posted: 2007年6月20日(水) 19:10
by 管理人
>for(i=5;i<1;i--);
>にすればいいん良いと思います。
これだとi=5から始まり、iが1より小さい間iを減らしながらループという意味になるので、ループされないでしょう。
そして不等号を逆にしても、1が出力されないので、i>0とするべきでしょう。
Re:配列の課題
Posted: 2007年6月20日(水) 20:28
by DRAGON
>管理人さん
そうでした。
コンパイルもせずに申し訳ありません。
Re:配列の課題
Posted: 2007年6月20日(水) 21:11
by フリオ
> for(i=5;i<1;i--);
> にすればいいん良いと思います。
"i = 5" は、まずいです。
> 先頭から順に5、4、3、2、1を代入して表示するプログラムをつくりたい。
vc=i+1
を、
vc = 5 - i
Re:配列の課題
Posted: 2007年6月20日(水) 22:34
by 徹夜
大変ありがとうございました。
このサイトは大変ありがたいです。
まだまだはじめたばかりなのでこれからもよろしくお願いします。
Re:配列の課題
Posted: 2007年6月21日(木) 02:09
by 管理人
あぁ、配列の要素番号に使っていたんですね、DORAGONさんの記述しか見ていませんでした。
i=5を含めると、用意されていない[5]の配列要素まで使ってしまうので、i=4からはじめるか、i=0からカウントアップして、配列要素番号の時のみ引き算を使う方法がいいと思います。
もう解決されていますね。いい加減な回答ですみませんでした。