Hola a todos los amigos que participan en este foro, quisiera que me ayudaran a explicarme este ejercicio ya que sinceramente nolo entiendo y nose que hacer especificamente, el ejercicio es el siguiente:
Dado dos vectores A y B de 15 elementos cada uno, obtener un vector C donde la posición i se almacene la suma de A+B y mostrar el mayor de los C.
Espero que me puedan ayudar amigos del Foro, les estare muy agradecidos
Citar"Dado dos vectores A y B de 15 elementos cada uno"
Bueno dado que es el foro de programacion vamos a entender los vectores como arreglos unidimensionales, por ejempo:
A = { 2 , 7 , 3 , 2 , n... }
B = { 3 , 1 , 8 , 6 , n... }
Citar"obtener un vector C donde la posición i se almacene la suma de A+B"
Entonces A+B = C
Pos: i=0 i=1 i=2 i=3 i= n ...
C = { 2 + 3 , 7 + 1 , 3 + 8 , 2 + 6 , n + n ... }
En consecuencia:
C = { 5 , 8 ,12 , 8 , n ...}
Citar"y mostrar el mayor de los C."
Bueno esto esta algo incompleto, mi suposicion en que muestres el mayor de los elementos del vector C que en este caso seria 12
bueno espero te sirva y no haya ambigüedades con la forma en que interprete el texto de tu ejercicio
Ahora la pregunta seria, lo tienes que programar??, en que lenguaje VB o C#??
No entiendo que parte no entendiste porque esta facilisimo. ::) ::)
Fijate Xtriker que lo tengo que programar en vb.net, pero te agradezco mucho el que te hayas tomado el tiempo necesario para responder a mi duda surgida, porque como te habras dado cuenta soy un principiante y aunque para uds sea facil yo me quedo en la luna jaja pero te agradezco, ahora tratare de ver como le doy forma
Ok amigo entonces si me permites sugerirte por donde empezar , primero investiga algo sobre los arreglos en VB, otra cosa que te hara este ejercicio mas facil es utilizar un ciclo For, y por ultimo pues los condicionales para obtener el numero mayor tendras que ir comparando cada posicion del arreglo dentro de otro ciclo y almacenarlo en alguna variable.
Aqui te pongo una referencia rapida:
Declarar un arreglo en VB
Dim A as Integer() = { 2, 7, 3, 2}
ahora de acuerdo a lo que te puse arriba con respecto a las posiciones si utilizaramos la instruccion:
Dim ElementoDeA as integer = A(1)
El dato guardado en la variable ElementoDeA seria 7 por que esta en la posicion 1 del arreglo A
Ciclo For
For i = 0 to 15
Next
Aqui la variable "i" va a ir tomando valores desde 0 hasta 15, eso quiere decir que lo que este dentro de este ciclo se realizara 15 veces, imaginate que quisieras calcular el total de la suma de todos loa elementos del Vector A
Dim total as integer =0
Dim i as integer
Dim A as Integer() = { 2, 7, 3, 2}
For i=0 to 3
total = A(i)
Next
Entonces de esta forma ya se quedaria el total de la suma 2+7+3+2 en la variable total entonces total tendria el valor de 14
espero eso te sirva de algo, cualquier otra duda aqui estamos ;D
Hey Xtriker, como se haria este ejercicio en interfaz grafica en el .net, mi pregunta es como seria la interfaz grafica y a dond iria cada parte del codigo que me has proporcionado, te dejare mi correo para que nos pongamos en comunicacion: lega2004@hotmail.com
Hombre, es diseño ¡¡¡¡ ahora que no puedas hacer eso .... daria mucho que pensar ... :-X :-X :-X
Me puedes enviar el codigo de este ejercicio parte por parte, si no es tanta molestia
Pues mira, he creado dos labels para identificar cada valor, y tengo dos textbos para q el usuario introduzca los valores del Vector A y B, ademas he creado dos botones el de calcular y salir. En el boton de calcular he puesto este codigo:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'En esta parte he puesto que el valor del textbox 1 y 2 sean mayores o igaules a 0 y menores o iguales q a 15
If Val(TextBox1.Text >= 0 And Val(TextBox2.Text <= 15)) Then
'
'Iniciamos las listas a ordenar (puede sustituir este proceso
'por otro de lectura con el fin de tomar los datos de entrada
'estandar)
Dim VectorA() As Integer = {"0", "2", "4", "6", "8", "10", "12", "14", "16", "18", "20"}
Dim VectorB() As Integer = {"10", "20", "30", "40", "50", "60", "70", "80", "90", "100"}
'Declarar la matriz que va a almacenar el resultado de
'fusionar las dos anteriores
Dim vectorC(VectorA.Length + VectorB.Length) As Integer
'Fusionar VectorA y VectorB y almacenar el Resultadoen VectorC
'El metodo "Fusionar" devolvera un 0 cuando no se pueda
'realizar la funcion.
Dim ind, r As Double
r = Fusionar(VectorA, VectorB, vectorC)
'Escribir la matriz resultante
If (r <> 0) Then
For ind = 0 To VectorB.Length - 1
MessageBox.Show("La suma de los vectores es: " & vectorC(ind))
Next
Else
MessageBox.Show("Error")
End If
Else
'Como podras ver aqui le he puesto que si el usuario introduce un valor q no esta en el rango permitido, que le muestre un msj, de la indicacion y q cierre el programa
MessageBox.Show("Ha introducido valores no permitidos")
MessageBox.Show("Intente de nuevo")
MessageBox.Show("Solo se permite un valor maximo de 15")
Me.Close()
End If
End Sub
**Cabe destacar que los label no permiten letras, ya que para eso encontre una funcion que pude emplear a la perfeccion, dicha funcion esta hecha en un modulo y es la siguiente:
Module Module1
Function SoloNumeros(ByVal Keyascii As Short) As Short
If InStr("1234567890", Chr(Keyascii)) = 0 Then
SoloNumeros = 0
Else
SoloNumeros = Keyascii
End If
Select Case Keyascii
Case 8
SoloNumeros = Keyascii
Case 13
SoloNumeros = Keyascii
End Select
End Function
End Module
**Y luego lo invoco en cada uno de los labels, de la siguiente manera:
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
Dim KeyAscii As Short = CShort(Asc(e.KeyChar))
KeyAscii = CShort(SoloNumeros(KeyAscii))
If KeyAscii = 0 Then
e.Handled = True
End If
**Y para que la funcion trabaje a la perfeccion se invoco de la siguiente manera
Public Class Form1
Inherits System.Windows.Forms.Form
'Aqui es en donde se invoca
Public KeyAscii As Short
Y eso es todo el codigo que tengo hasta el momento, nose si hay de mas o falta algo o nose si esta bien en la forma que se los he planteado, espero que me puedand ayudar amigos de este Gran foro, les estare eternamente agradecidos
Ok aqui esta un proyecto ejemplo sin tanto enrredo :P
http://www.easy-share.com/1907937724/testVectores.zip (http://www.easy-share.com/1907937724/testVectores.zip)