Cita de: Eleкtro en 5 Octubre 2014, 09:58 AM
Solo tienes que obtener la diferencia, no se que tipo de complicación le encuentras para realizar lo mismo en un código.
Prueba así: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, 19, 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
' Get Difference expression
' ( By Elektro )
'
' Usage Examples:
' MessageBox.Show(GetDifferenceExpression(5, 10))
'
''' <summary>
''' Gets the arithmetic sum/rest difference expression between two values.
''' </summary>
''' <param name="Value1">The first value.</param>
''' <param name="Value2">The second value.</param>
''' <returns>The arithmetic expression.</returns>
Friend Function GetDifferenceExpression(ByVal Value1 As Long, ByVal Value2 As Long) As String
Select Case Value2
Case Is > Value1 ' Value2 is bigger than Value1.
Return String.Format("+{0}", CStr(Value2 - Value1))
Case Is < Value1 ' Value2 is lower than Value1.
Return String.Format("-{0}", CStr(Value1 - Value2))
Case Else ' Value2 is equals to Value1.
Return "0"
End Select
End Function
End Class
Saludos.
En si el código hace lo que quería exactamente ,pero como no puedo meter miles de números a mano ¿ como y por donde empiezo a romperme el coco para que pueda hacerlo desde un txt que tenga ya estos números ? estos números pueden de de cuatro números ( 10 20 30 80 ) hasta 10 números ( 01 05 06 20 25 40 50 55 60 90 ) por ejemplo y que devuelva los resultados ademas de pantalla en otro txt ?
Luis