配列の課題

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
徹夜

配列の課題

#1

投稿記事 by 徹夜 » 18年前

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を代入して表示するプログラムをつくりたい。
試行錯誤して、変えてはコンパイルしているのですが上手く実行結果になりません。
どこをどう変えたらいいのでしょうか?

DORAGON

Re:配列の課題

#2

投稿記事 by DORAGON » 18年前

for(i=5;i<1;i--);

にすればいいん良いと思います。

box

Re:配列の課題

#3

投稿記事 by box » 18年前

> for(i=0;i<5;i++)
> printf("vc[%d]=%d\n",i,vc);

出力の際、iは0から4まで1ずつ増やしながら変化しています。
これを、4から0まで1ずつ減らしながら変化するようにしてください。

管理人

Re:配列の課題

#4

投稿記事 by 管理人 » 18年前

>for(i=5;i<1;i--);
>にすればいいん良いと思います。

これだとi=5から始まり、iが1より小さい間iを減らしながらループという意味になるので、ループされないでしょう。
そして不等号を逆にしても、1が出力されないので、i>0とするべきでしょう。

DRAGON

Re:配列の課題

#5

投稿記事 by DRAGON » 18年前

>管理人さん
そうでした。

コンパイルもせずに申し訳ありません。

フリオ

Re:配列の課題

#6

投稿記事 by フリオ » 18年前

 
> for(i=5;i<1;i--);
> にすればいいん良いと思います。

 "i = 5" は、まずいです。


> 先頭から順に5、4、3、2、1を代入して表示するプログラムをつくりたい。

vc=i+1
を、
vc = 5 - i
 

徹夜

Re:配列の課題

#7

投稿記事 by 徹夜 » 18年前

大変ありがとうございました。
このサイトは大変ありがたいです。
まだまだはじめたばかりなのでこれからもよろしくお願いします。

管理人

Re:配列の課題

#8

投稿記事 by 管理人 » 18年前

あぁ、配列の要素番号に使っていたんですね、DORAGONさんの記述しか見ていませんでした。
i=5を含めると、用意されていない[5]の配列要素まで使ってしまうので、i=4からはじめるか、i=0からカウントアップして、配列要素番号の時のみ引き算を使う方法がいいと思います。
もう解決されていますね。いい加減な回答ですみませんでした。

閉鎖

“C言語何でも質問掲示板” へ戻る