• ベストアンサー

配列にaaaからzzzまでの17576(26の3乗)個を格納したいんですけど

お世話になります。 配列pにaaaからzzzまでの17576通りの文字列を 格納したいんですけど、コードを教えてください。 vbのバージョンはvb6です。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

単純に3重ループ Sub Main()   '---------------------------------------------   '結果格納用   Dim p()     As String   '領域   Dim lngArea   As Integer   '3重ループのトータルカウンター   Dim lngCounter As Integer      'ループ用   Dim i      As Long   Dim j      As Long   Dim k      As Long      'ループ範囲用   Dim lngAsciiA  As Long   Dim lngAsciiZ  As Long   '---------------------------------------------   'ループ範囲の取得   lngAsciiA = Asc("A")   lngAsciiZ = Asc("Z")   '---------------------------------------------   '必要領域の算出   lngArea = (lngAsciiZ - lngAsciiA + 1) ^ 3   '結果格納用の変数の領域を確保   ReDim p(lngArea - 1)   'カウンタの初期化   lngCounter = 0   '---------------------------------------------   '3重ループ   For i = lngAsciiA To lngAsciiZ     For j = lngAsciiA To lngAsciiZ       For k = lngAsciiA To lngAsciiZ         '変数に格納         p(lngCounter) = Chr(i) & Chr(j) & Chr(k)         'カウンタを増やす         lngCounter = lngCounter + 1       Next k     Next j   Next i   '--------------------------------------------- End Sub

mixiho
質問者

お礼

1050YENさん、いつもありがとうございます。 勉強になりました。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

文字コードが英字小文字のa-zはJisコードで97-122であることを知れば、3重ループで3文字を(結合し、&を利用)セットできることがわかる。 しかしなぜ配列に格納する必要あるのかな。 17576種のうちの1つの文字列が決まったところで、処理に入ることで済む問題もありそうに思う。

関連するQ&A