- ベストアンサー
配列にaaaからzzzまでの17576(26の3乗)個を格納したいんですけど
お世話になります。 配列pにaaaからzzzまでの17576通りの文字列を 格納したいんですけど、コードを教えてください。 vbのバージョンはvb6です。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
単純に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
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
文字コードが英字小文字のa-zはJisコードで97-122であることを知れば、3重ループで3文字を(結合し、&を利用)セットできることがわかる。 しかしなぜ配列に格納する必要あるのかな。 17576種のうちの1つの文字列が決まったところで、処理に入ることで済む問題もありそうに思う。
お礼
1050YENさん、いつもありがとうございます。 勉強になりました。