Estoy tratando de averiguar las diferencias entre una gran base de numeros entre si,tratare de explicarlo tengo en un txt una lista de numeros
numeros en el txt que debera de leer el codigo en forma descendente
02 15 28 50 45 60
10 20 35 40 60 80
11 40 49 50 77 99
20 25 33 48 60 88
30 36 44 55 77 95
Bien lo que se nesecita es saber las diferencias entre ellos
02 15 28 50 45 60 <--primer numero de la lista
10 20 35 40 60 80 <--segundo numero comparar con el primero
+8 +5 +7 -10 +15 +20 <--resultados
10 20 35 40 60 80 <-se toma el segundo numero compara con el tercer numero
11 40 49 50 77 99 <- com compara al igual que el anterior y haci con todos los numeros hasta acabar la muestra
+1 +20 +14 +10 +17 +19 < resultados
en fin en el txt resultante lo unico que tiene que estar son los resultados
+8 +5 +7 -10 +15 +20 <--resultados
+1 +20 +14 +10 +17 +19
Tengo este codigo amabilididad por elektro
Luis
numeros en el txt que debera de leer el codigo en forma descendente
02 15 28 50 45 60
10 20 35 40 60 80
11 40 49 50 77 99
20 25 33 48 60 88
30 36 44 55 77 95
Bien lo que se nesecita es saber las diferencias entre ellos
02 15 28 50 45 60 <--primer numero de la lista
10 20 35 40 60 80 <--segundo numero comparar con el primero
+8 +5 +7 -10 +15 +20 <--resultados
10 20 35 40 60 80 <-se toma el segundo numero compara con el tercer numero
11 40 49 50 77 99 <- com compara al igual que el anterior y haci con todos los numeros hasta acabar la muestra
+1 +20 +14 +10 +17 +19 < resultados
en fin en el txt resultante lo unico que tiene que estar son los resultados
+8 +5 +7 -10 +15 +20 <--resultados
+1 +20 +14 +10 +17 +19
Tengo este codigo amabilididad por elektro
Código (vbnet) [Seleccionar]
Public Class Form1
Private Shadows Sub Load() Handles MyBase.Load
Dim sb As New System.Text.StringBuilder
Dim Values As New List(Of Integer()) From
{
({1I, 20, 1I}),
({7I, 22, 4I}),
({8I, 27, 11}),
({20, 29, 17}),
({23, 33, 22}),
({39, 46, 31})
}
For Each ValueCol() As Integer In Values
Dim Value1 As Integer = ValueCol(0)
Dim Value2 As Integer = ValueCol(1)
Dim Value3 As Integer = ValueCol(2)
Dim Diff1 As String = GetDifferenceExpression(Value1, Value2)
Dim Diff2 As String = GetDifferenceExpression(Value2, Value3)
sb.AppendLine(String.Format("{0} -> {1} = {2}",
Value1.ToString("00"), Value2.ToString("00"), Diff1))
sb.AppendLine(String.Format("{0} -> {1} = {2}",
Value2.ToString("00"), Value3.ToString("00"), Diff2))
sb.AppendLine()
Next ValueCol
MessageBox.Show(sb.ToString)
Application.Exit()
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
Try
Dim Archivo As System.IO.FileStream
' crea un archivo vacio prueba.txt
Archivo = System.IO.File.Create("c:\asi\Prueba.txt")
' error
Catch oe As Exception
MsgBox(oe.Message, MsgBoxStyle.Critical)
End Try
End Sub
' Get Difference expression
' ( By Elektro )
'
' Usage Examples:
' MessageBox.Show(GetDifferenceExpression(5, 10))
'
''' <summary>
''' Obtiene la expresión aritmética suma diferencia / descanso entre dos valores.
''' </summary>
''' <param name="Value1">El primer valor.</param>
''' <param name="Value2">El segundo valor.</param>
''' <returns>La expresión aritmética.</returns>
Friend Function GetDifferenceExpression(ByVal Value1 As Long, ByVal Value2 As Long) As String
Select Case Value2
Case Is > Value1 ' Value2 es más grande que Valor1.
Return String.Format("+{0}", CStr(Value2 - Value1))
Case Is < Value1 ' Value2 es inferior a Valor1.
Return String.Format("-{0}", CStr(Value1 - Value2))
Case Else ' Value2 es igual a Valor1.
Return "0"
End Select
End Function
End Class
Luis