Option Explicit
Sub Main
Dim a1,a2,s,s2,s3,s4,s5,s6
Dim a3
'lunghetta A
a1 = Array(0,1,2,4,5,6,7,9,10,11,13,15,16,17,18,19,20,21,22,23,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,42,43,44,45,46,47,49,50,51,52,53,54,55,56,57,58,60,61,62,64,65,66,69,70,72,73,74,75,76,77,78,80,81,82,85,86,87,89,90)
'terzo gruppo
a2 = Array(0,1,2,3,4,5,6,7,12,13,15,16,17,18,19,20,21,22,23,25,26,29,30,32,35,36,38,42,43,45,47,48,49,50,52,53,54,56,58,59,60,61,62,63,64,66,67,68,69,70,72,74,75,76,77,78,79,81,82,83,84,85,87,89,90)
'lunghetta B
a3 = Array(0,2,4,5,6,10,11,13,15,16,17,18,19,20,21,22,25,26,27,28,29,31,32,33,35,36,37,38,39,40,42,43,44,45,46,47,49,50,51,52,53,54,55,56,57,58,60,61,62,64,65,66,69,70,72,73,74,75,77,78,80,81,82,85,86,87,89,90)
Call getMancante(a1,a2,s)
Call Scrivi(" lunghetta A " & StringaNumeri(a1) & " quantità " & UBound(a1))
'Call Scrivi(" terzo gruppo: " & StringaNumeri(a2) & " quantità " & UBound(a2))
Call Scrivi(" Lunghetta B: " & StringaNumeri(a3) & " quantità " & UBound(a3))
Scrivi
Scrivi " Confronto... "
Scrivi
Dim v,v2
Call SplitByChar(s," ",v)
'Call Scrivi(" elementi divergenti tra lunghetta A e terzo gruppo: " & s & " quantità " & UBound(v))
Call getComuni(a1,a2,s2)
Call SplitByChar(s2," ",v2)
'Call Scrivi(" elementi comuni tra lunghetta A e terzo gruppo : " & s2 & " quantità " & UBound(v2))
Scrivi
Scrivi "-------------------------------------------------------------------------------------------------------------------------"
Scrivi
Call Scrivi(" lunghetta A " & StringaNumeri(a1))
Call Scrivi(" Lunghetta B: " & StringaNumeri(a3))
Scrivi
Scrivi " Confronto... "
Scrivi
Call getMancante(a1,a3,s3)
Dim v3,v4
Call SplitByChar(s3," ",v3)
Call Scrivi(" elementi divergenti tra lunghetta A e lunghetta B: " & s3 & " quantità " & UBound(v3))
Call getComuni(a1,a3,s4)
Call SplitByChar(s4," ",v4)
Call Scrivi(" elementi comuni lunghetta A e lunghetta B: " & s4 & " quantità " & UBound(v4))
Scrivi
Scrivi "-------------------------------------------------------------------------------------------------------------------------"
Scrivi
Scrivi
Scrivi " Confronto... "
Scrivi
Call getMancante(a2,a3,s5)
Dim v5,v6
Call SplitByChar(s5," ",v5)
Call getComuni(a2,a3,s6)
Call SplitByChar(s6," ",v6)
End Sub
Sub getMancante(a1,a2,s)
Dim n,n1,bret',s
s = ""
For n = 1 To UBound(a1)
bret = True
For n1 = 1 To UBound(a2)
If a1(n) = a2(n1) Then bret = False
Next
If bret Then s = s & a1(n) & " "
Next
End Sub
Sub getComuni(a1,a2,s2)
Dim n,n1,bret',s
s2 = ""
For n = 1 To UBound(a1)
bret = False
For n1 = 1 To UBound(a2)
If a1(n) = a2(n1) Then bret = True
Next
If bret Then s2 = s2 & a1(n) & " "
Next
End Sub