次の開発が予想外に先に伸びてしまい、中途半端な期間を中途半端な作業で埋められてしまいました。
3年間がんばったんだから少しぐらいゆっくりさせてくれてもいいのにぃ!!゜゜(´□`。)°゜。ワーン!!
その中途半端な作業というのがVB6!!しかも新規作成!!
なんで?なぜ今から作るのに.NETでなくてVB6なの!?
VB6は7年ぶりです。
覚えてませんっ!!
本数は5本。
サクッと終わらせて、さっさと遊ぼうとおもっていたのに甘かった。
仕様が難しい。
ということでASP.NETは「Hello World!」でちょっとお休みです。
今日は付き合わせ処理で詰まってしまいました。
例えば
A配列に1, 3, 5, 7, 9
B配列に1, 4, 5, 6
というデータがあったとして
「A配列にあって、B配列にない」ものと
「A配列になくて、B配列にある」ものを抽出するというものです。
恥ずかしいですが、どうすれば抽出できるかわかりませんでした。
ある人に聞きました。もちろん思いっきり馬鹿にされました。
「こんなん基本やで!!情報処理2種の試験にも出るで。」と。
私が受けた試験には出なかったし、試験勉強にも出なかった。・・・と思う。
でも勉強になりました。
使う機会があまりないのでメモメモ。
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim A() As Integer = {1, 3, 5, 7, 9}
Dim B() As Integer = {1, 4, 5, 6}
Dim CntA As Integer = 0
Dim CntB As Integer = 0
Do Until CntA > A.Length - 1 And CntB > B.Length - 1
If CntA > A.Length - 1 And CntB <= B.Length - 1 Then
'A配列になくて、B配列にある
Debug.WriteLine("①A配列になくて、B配列にある:" & B(CntB))
CntB += 1
ElseIf CntA <= A.Length - 1 And CntB > B.Length - 1 Then
'A配列にあって、B配列にない
Debug.WriteLine("②A配列にあって、B配列にない:" & A(CntA))
CntA += 1
ElseIf CntA <= A.Length - 1 And CntB <= B.Length - 1 Then
If A(CntA) > B(CntB) Then
'A配列になくて、B配列にある
Debug.WriteLine("③A配列になくて、B配列にある:" & B(CntB))
CntB += 1
ElseIf A(CntA) < B(CntB) Then
'A配列にあって、B配列にない
Debug.WriteLine("④A配列にあって、B配列にない:" & A(CntA))
CntA += 1
ElseIf A(CntA) = B(CntB) Then
'A配列にあって、B配列にもある
Debug.WriteLine("⑤A配列にあって、B配列にもある:" & A(CntA))
CntA += 1
CntB += 1
End If
End If
Loop
End Sub
End Class
実行結果は
⑤A配列にあって、B配列にもある:1
④A配列にあって、B配列にない:3
③A配列になくて、B配列にある:4
⑤A配列にあって、B配列にもある:5
③A配列になくて、B配列にある:6
②A配列にあって、B配列にない:7
②A配列にあって、B配列にない:9
0 件のコメント:
コメントを投稿