投稿時間:2006/12/16(Sat) 11:44 投稿者名:るしぇ
Eメール:
URL :
タイトル:Re^5: 配列について質問です。
> Dat = Split(Lists, ",") > Dat(1)でキーは取り出せるのですが・・・。 それ、質問とは全く関係無いやん?質問は『配列で。。。』 ってなってるから配列に数値データが入ってるのは前提条件です。
配列の第1番目のデータがキーなんだから > Dat(1)でキーは取り出せるのですが・・・。 …馬鹿にされているようにしか感じませんが? ってゆーか、配列の1番目の要素のインデックスは基本的には 0 ですが? しかも2次元配列なんだから Dat(i,0) みたいな話から始まらないと。。。
初心者とか、そーゆー言い訳が通るレベルにさえ到達してなくって、 プログラムに関して『勉強』というものを、1時間もしてないんじゃないの? って疑いたくなる書込みですが。。。 # プログラムは数学と同じで、勉強しないとできるようにはなりません。 # 掲示板で質問するだけでは、できるようになる事はありません。
同じ大きさの配列を用意して、 1,2,3,4,5 0,0,0,0,0 2,3,4,5,6 0,0,0,0,0 3,4,5,6,7 0,0,0,0,0 1,3,4,5,6 0,0,0,0,0
1番目の要素が0か同じキーなら足していくのが 誰でもできるんじゃない? 1,2,3,4,5 1,2,3,4,5 2,3,4,5,6 0,0,0,0,0 3,4,5,6,7 0,0,0,0,0 1,3,4,5,6 0,0,0,0,0
1,2,3,4,5 1,2,3,4,5 2,3,4,5,6 2,3,4,5,6 3,4,5,6,7 3,4,5,6,7 1,3,4,5,6 0,0,0,0,0
1,2,3,4,5 1,5,7,9,11 2,3,4,5,6 2,3,4,5,6 3,4,5,6,7 3,4,5,6,7 1,3,4,5,6 0,0,0,0,0
コードにするとこんな感じ。 [VB6.0] Option Explicit
Private Sub Command2_Click() Dim intTestData() As Integer Dim intResultData() As Integer Dim i As Integer Dim j As Integer Dim k As Integer intTestData = GetTestData("1,2,3,4,5\\2,3,4,5,6\\3,4,5,6,7\\1,3,4,5,6\\1,4,5,6,7\\4,5,6,7,8\\2,4,5,6,7") ReDim intResultData(UBound(intTestData, 1), UBound(intTestData, 2)) For i = 0 To UBound(intTestData, 1) For j = 0 To UBound(intResultData, 1) If intResultData(j, 0) = 0 _ Or intResultData(j, 0) = intTestData(i, 0) Then intResultData(j, 0) = intTestData(i, 0) For k = 1 To UBound(intTestData, 2) intResultData(j, k) = intResultData(j, k) + intTestData(i, k) Next Exit For End If Next Next End Sub
Private Function GetTestData(ByVal DataText As String) As Integer() Dim intReturnData() As Integer Dim strSplitAllData() As String Dim strSplitLineData() As String Dim i As Integer Dim j As Integer strSplitAllData = Split(DataText, "\\") For i = 0 To UBound(strSplitAllData, 1) strSplitLineData = Split(strSplitAllData(i), ",") If i = 0 Then ReDim intReturnData(UBound(strSplitAllData, 1), UBound(strSplitLineData, 1)) End If For j = 0 To UBound(intReturnData, 2) intReturnData(i, j) = CInt(strSplitLineData(j)) Next Next GetTestData = intReturnData End Function
|