■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#14180-0二次元配列の型yuki2000-01-24(月) 11:26
     #14183-0RE#14180:二次元配列の型U-Root-Y2000-01-24(月) 11:44
     #14182-0RE#14180:二次元配列の型かずやん2000-01-24(月) 11:44
     #14185-0RE#14180:二次元配列の型ゆう(U)2000-01-24(月) 11:57
     #14186-0RE#14182:二次元配列の型yuki2000-01-24(月) 11:58
#14180-0
二次元配列の型
二次元配列の型の指定についてお聞きしたいことがあります。

Option Explicit

Private Sub Command1_Click()
Dim P(-2 To 7, -2 To 7), B(-2 To 7, -2 To 7), C(-2 To 7, -2 To 7), 
PHA(-2 To 7, -2 To 7), X, Y, K As Single

For X = 0 To 5
    For Y = 0 To 5
  
 P(X, Y) = Text(K).Text
      
Select Case Y
       Case 0
       K = X
       Case 1
       K = X + 6
       Case 2
       K = X + 12
       Case 3
       K = X + 18
       Case 4
       K = X + 24
       Case 5
       K = X + 30
       
End Select

  Next Y
Next X

For X = 0 To 5
    For Y = 0 To 5
    
Select Case Y
       Case 0
       K = X
       Case 1
       K = X + 6
       Case 2
       K = X + 12
       Case 3
       K = X + 18
       Case 4
       K = X + 24
       Case 5
       K = X + 30
       
End Select

 PHA(X, Y) = PHA(X, Y) + (P(X, Y - 1) + P(X - 1, Y) + P(X + 1, Y) 
     + P(X, Y + 1) + B(X, Y) + C(X, Y - 1) - B(X - 1, Y) - C(X, Y)) / 4
        
Select Case X
       Case 0
       PHA(X, Y) = 0
       Case 5
       PHA(X, Y) = 0
                
End Select
  
Select Case Y
       Case 0
       PHA(X, Y) = 0
       Case 5
       PHA(X, Y) = 0
       
End Select
 
  
Text(K).Text = PHA(X, Y)
                   
    Next Y
Next X

End Sub
--------------------------------------

B(0, 0) からB(5, 5)、C(0, 0)からC(5, 5)の値は与えてあります。
テキストボックスが、6×6の36個あって、
Dim P(-2 To 7, -2 To 7), B(-2 To 7, -2 To 7), C(-2 To 7, -2 To 7), 
PHA(-2 To 7, -2 To 7)では、配列に余裕を持たせてます。

まず、Text(K).Text に入っている数値をP(X, Y)に入れて、
PHA(X, Y) = PHA(X, Y) + (P(X, Y - 1) + P(X - 1, Y) + ・・・・)/4
で計算させて、その値をまたText(K).Text に戻して、これを何回も繰り返す
というものです。

このままだと

●PHA(X, Y) = PHA(X, Y) + (P(X, Y - 1) + P(X - 1, Y) + P(X + 1, Y) 
    + P(X, Y + 1) + B(X, Y) + C(X, Y - 1) - B(X - 1, Y) - C(X, Y)) / 4  
  
ここの部分で型が一致しないとのエラーがでます。
最初に指定しているつもりでいるのですが、この二次元配列の数値計算だと、他にどこかに
型を指定でもしないといけないのですか?
どなたかよろしくお願いします。
#14183-0
RE#14180:二次元配列の型
> 二次元配列の型の指定についてお聞きしたいことがあります。
「二次元配列」の問題ではないですね。

> Dim P(-2 To 7, -2 To 7), B(-2 To 7, -2 To 7), C(-2 To 7, -2 To 7), 
> PHA(-2 To 7, -2 To 7), X, Y, K As Single

> 最初に指定しているつもりでいるのですが、この二次元配列の数値計算だと、他にどこかに
> 型を指定でもしないといけないのですか?
『「こんな失敗しました \(T−T)」』掲示板を読んで、ヘルプで確認してみてください。
#14182-0
RE#14180:二次元配列の型
> Dim P(-2 To 7, -2 To 7), B(-2 To 7, -2 To 7), C(-2 To 7, -2 To 7), 
> PHA(-2 To 7, -2 To 7), X, Y, K As Single

Kの他はVariant型になってますよん。
いちいち As Single つけてみてね < イラつかないように(^^;)
#14185-0
RE#14180:二次元配列の型
> Private Sub Command1_Click()
> Dim P(-2 To 7, -2 To 7), B(-2 To 7, -2 To 7), C(-2 To 7, -2 To 7), 
> PHA(-2 To 7, -2 To 7), X, Y, K As Single
まず・・・

「Dim ステートメント」のヘルプを読んで下さい。

「,」で続けて行く場合、それぞれのデータ型(As ????)を指定されない変数は
全てバリアント型になります。
※TypeDefの記述等が無ければ・・・
※配列の場合でも同じです。

> For X = 0 To 5
>     For Y = 0 To 5
>   
>  P(X, Y) = Text(K).Text
Text(K)の参照をKの値を設定する前に行って良いのですか?
※ちなみにコントロール名「Text」は止めた方が良いのでは?

> Select Case Y
>        Case 0
>        K = X
>        Case 1
>        K = X + 6
> :
> End Select
この「+??」の部分は「Yに何かを掛けた値」になりませんか?


> ここの部分で型が一致しないとのエラーがでます。
とりあえず、先の部分の修正を行って見て下さい。

エラーが発生する直前に設定されている値を
Debug.Print P(X, Y)
などと、表示して値を確認したり・・・

ブレークポイントを設定し、中止して変数の値をチェック
するとか・・・

●MSDNライブラリやBooksOnlineでデバックの項を参照してみては・・・
#14186-0
RE#14182:二次元配列の型
> > Dim P(-2 To 7, -2 To 7), B(-2 To 7, -2 To 7), C(-2 To 7, -2 To 7), 
> > PHA(-2 To 7, -2 To 7), X, Y, K As Single
> 
> Kの他はVariant型になってますよん。
> いちいち As Single つけてみてね < イラつかないように(^^;)

ありがとうございました。
初歩的ミス&勘違いで・・・。
うまくいきました。
このページと関連する記事:
#14564-0配列でのデータの読み込み?2000-01-29(土) 15:52
#11412-0収束を見るためのプログラム1999-12-10(金) 16:05
#39986-0配列の代入2001-03-08(木) 07:37
#12054-0プログラムの短縮1999-12-20(月) 14:34
#36689-0大変参考になりました。2001-01-11(木) 17:21
#15783-0RE#15772:Variant型の配列変数を引数として使用するには?2000-02-09(水) 13:00
#5187-0フォームに計算結果を簡単なグラフとして表示したい!!2000-01-21(金) 12:02
#296-3VBで構造体をバイナリー保存したいのですが2003-08-07(木) 09:37
#250-1配列宣言について2004-01-16(金) 18:16
#24277-0配列を表示させて、値を修正する方法2001-11-01(木) 12:10
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)