elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Problema eliminacion elementos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema eliminacion elementos  (Leído 1,518 veces)
h0oke


Desconectado Desconectado

Mensajes: 2.059


Coder ~


Ver Perfil WWW
Problema eliminacion elementos
« en: 31 Mayo 2009, 00:48 am »

Aver si por aqui me pueden ayudar:

El enunciado consiste en borra los numeros de una lista que posean mayor cantidad de digitos pares que impares.

El problema que tengo es el siguiente:

N=4
array={1,2,3,4}
array con eliminaciones={1,3}


N=10
array={1,2,3,4,5,6,7,8,9,10}
array con eliminaciones={1,3,4,6,7,9}
cuando tendria que ser:
array con eliminaciones={1,3,5,7,9,10}

Y otro error:
array={2,2,5}
array con eliminaciones={2,5}
Es decir cuando existen posiciones iniciales consecutivas, no asi en

array={5,2,2}
array con eliminaciones={5}


Código
  1. Private Sub Form_Load()
  2. cnt_p = 0
  3. cnt_i = 0
  4. Dim lista(100) As Integer
  5. Dim elim(100) As Integer
  6. Label1.Caption = "" 'Array
  7. Label2.Caption = "" 'Array con eliminaciones
  8. Label3.Caption = "" 'Posiciones a eliminar
  9. MsgBox "Inicializacion", vbOKOnly
  10. k = 0
  11. cant = InputBox("Cantidad: ")
  12. N = Val(cant)
  13. For i = 1 To N
  14.    entero = InputBox("Numero: ")
  15.    num = Val(entero)
  16.    lista(i) = num
  17. Next
  18. For i = 1 To N
  19.    Label1.Caption = Label1.Caption & lista(i) & ","
  20. Next
  21. For i = 1 To N
  22.    d_num = lista(i) 'Separo los digitos
  23.    While d_num <> 0
  24.        dig = d_num Mod 10
  25.        If dig Mod 2 = 0 Then 'Compruebo si son multiplos pares
  26.            cnt_p = cnt_p + 1
  27.        End If
  28.        If dig Mod 2 <> 0 Then
  29.            cnt_i = cnt_i + 1
  30.        End If
  31.        d_num = d_num \ 10
  32.    Wend
  33.    If cnt_p > cnt_i Then 'Si la cantidad de digitos pares es mayor a las impares
  34.        k = k + 1
  35.        elim(k) = i 'Array que contiene las posiciones
  36.    End If
  37.    cnt_p = 0
  38.    cnt_i = 0
  39.  
  40. Next
  41. For i = 1 To k
  42.    Label3.Caption = Label3.Caption & elim(i) & ","
  43. Next
  44. For i = 1 To k
  45.    pos = elim(i)
  46.    For j = pos To (N - 1)
  47.        lista(j) = lista(j + 1)
  48.    Next
  49.    N = N - 1
  50. Next
  51. For i = 1 To N
  52.    Label2.Caption = Label2.Caption & lista(i) & ","
  53. Next
  54. End Sub


« Última modificación: 31 Mayo 2009, 00:50 am por Emt.dev » En línea

h0oke


Desconectado Desconectado

Mensajes: 2.059


Coder ~


Ver Perfil WWW
Re: Problema eliminacion elementos
« Respuesta #1 en: 31 Mayo 2009, 17:16 pm »

Solucionado. ::)

Modificaciones:

Código
  1. If cnt_p > cnt_i Then
  2.     k = k + 1
  3.     elim(k) = i - cnt_elist
  4.     cnt_elist = cnt_elist + 1
  5. End If

Salu2!


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema para contar elementos de un vector
Java
_SainT_ 4 7,430 Último mensaje 24 Agosto 2011, 20:02 pm
por _SainT_
Consulta SQL;Listar elementos que estan presentes en TODOS los elementos de otra
Desarrollo Web
astinx 2 5,176 Último mensaje 2 Noviembre 2011, 23:06 pm
por astinx
Comparacion de arrays y eliminacion de elementos iguales
Programación C/C++
PeinSoR 5 6,805 Último mensaje 13 Junio 2022, 15:31 pm
por Serapis
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines