tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトル配列の()内の数字について
記事No11454
投稿日: 2008/02/19(Tue) 16:30
投稿者コメット
プログラム作成で困っています
どなたか分かる方いらしたらお願いします。
今、配列a(5)があり中身が
a(0)=1
a(1)=2
a(2)=1
a(3)=3
a(4)=4
a(5)=3

とでこぼこな値になっているとき ピークの値を求めたいのですが;
つまりここでは2と4を求めたいのですがループさせるときループの変数に関係なく
新しい配列に順番にこのピークの値を入れる方法はないでしょうか?

実際のコードは
ymax=0
for i= 0 to 5
   if a(i-1)<a(i) and a(i)>a(i+1) then
     ymax(i)=a(i)
   end if
next i
こんな感じなんですが、 ymax(i)とせずになにかいい方法を使って
もし最初のピークの値が条件式にあたはまったら ymax(0),ymax(1)。。。。。
というふうにiの値に関係なく順番に配列したいのですがなにか
いい対策ってありますでしょうか?

[ツリー表示へ]
タイトルRe: 配列の()内の数字について
記事No11455
投稿日: 2008/02/19(Tue) 16:47
投稿者y4yama
こんにちは

> 新しい配列に順番にこのピークの値を入れる方法はないでしょうか?
>
>      ymax(i)=a(i)
> こんな感じなんですが、 ymax(i)とせずになにかいい方法を使って
> もし最初のピークの値が条件式にあたはまったら ymax(0),ymax(1)。。。。。

ほとんど、御自分で、良い所まで考えられていますよ
ymax(yi)=a(i)
とすれば、いいですよね。yi は、初期値が0で、順次+1していく・・・と。
がんばって下さい

[ツリー表示へ]
タイトルRe^2: 配列の()内の数字について
記事No11457
投稿日: 2008/02/19(Tue) 18:41
投稿者コメット
y4yamaさんへ
ありがとうございます<(_ _)>
なるほど!
iとは違う変数でやっていけばいいんですね
本当に助かりました
お忙しい中返事いただきましてありがとうございました<(_ _)>

[ツリー表示へ]
タイトルRe: 配列の()内の数字について
記事No11456
投稿日: 2008/02/19(Tue) 16:54
投稿者Do_Shirouto
> プログラム作成で困っています
> どなたか分かる方いらしたらお願いします。
> 今、配列a(5)があり中身が
> a(0)=1
> a(1)=2
> a(2)=1
> a(3)=3
> a(4)=4
> a(5)=3
>
> とでこぼこな値になっているとき ピークの値を求めたいのですが;
> つまりここでは2と4を求めたいのですがループさせるときループの変数に関係なく
> 新しい配列に順番にこのピークの値を入れる方法はないでしょうか?

a(i-1)<--------ここ i=0 なのでa(-1)になる エラーにならないのですか?
>
> 実際のコードは
> ymax=0
>  for i= 0 to 5
>    if a(i-1)<a(i) and a(i)>a(i+1) then
>      ymax(i)=a(i)
>    end if
>  next i
> こんな感じなんですが、 ymax(i)とせずになにかいい方法を使って
> もし最初のピークの値が条件式にあたはまったら ymax(0),ymax(1)。。。。。
> というふうにiの値に関係なく順番に配列したいのですがなにか
> いい対策ってありますでしょうか?

[ツリー表示へ]
タイトルRe^2: 配列の()内の数字について
記事No11458
投稿日: 2008/02/19(Tue) 18:42
投稿者コメット
Do_Shiroutoさんへ
なんかそのエラーは起こらず
a(i-1)のときはa(i)となっているみたいです;

[ツリー表示へ]