Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Mostrar Elementos Sin Repetición Y Mostrar Repetidos Contandolos
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Mostrar Elementos Sin Repetición Y Mostrar Repetidos Contandolos 
 
Hola!.

1º - El ejemplo muestra los elementos de un array sin volver a mostrar los elementos ya mostrados
2º - Mostrar los elementos y el número de veces que se repiten

Tenemos una lista de países y queremos que nos muestre los países sin que se repitan al mostrarlos y queremos también que nos diga las veces
que se repiten los países.

Public Sub Main()
  
  Dim paises As String[] = ["ALEMANIA", "ALEMANIA", "RUSIA", "LITUANIA", "ESPAÑA", "HOLANDA", "ESPAÑA", "ALEMANIA", "RUSIA", "FRANCIA", "LITUANIA", "ESPAÑA"]  
  
  MostrarSinRepeticion(SinRepes(paises))  
  Print
  MostrarRepetidos(CuentaRepetidos(paises))
  
End

Public Sub MostrarSinRepeticion(lista As String[])
  
  Dim elemento As String
  
  For Each elemento In lista
    Print elemento
  Next  
  
End

Public Sub MostrarRepetidos(lista As Collection)
  
  Dim elemento As String
  
  For Each elemento In lista
    Print lista.key & ": " & lista[lista.key]
  Next
  
End

Public Function SinRepes(lista As String[]) As String[]
  
  Dim elemento As String
  Dim no_repetidos As New String[]
  
  For Each elemento In lista
    If no_repetidos.Find(elemento) = -1 Then
      no_repetidos.Add(elemento)
    Endif
  Next
  Return no_repetidos  
  
End

Public Sub CuentaRepetidos(lista As String[]) As Collection
  
  Dim lista_repes As New Collection
  Dim x, y As Integer
  
  For x = 0 To lista.Max
    If Not lista_repes.Exist(lista[x]) Then    
      lista_repes[lista[x]] = 0      
      For y = x + 1 To lista.Max      
        If lista[x] = lista[y] Then lista_repes[lista[x]] += 1
      Next  
    Endif
  Next  
  Return lista_repes
  
End
 


¿ Qué mejoras añadirías al código ?.

Un día lo  haré en Python, en este existen los sets que sería como un array que no permite elementos repes.
Ya veis que tampoco fue difícil hacer algo similar en Gambas.

Saludos

Repes.tar.gz
Descripción:  
Descargar
Nombre del archivo: Repes.tar.gz
Tamaño: 4.93 KB
Descargado: 24 veces
Repes.tar.gz
Descripción:  
Descargar
Nombre del archivo: Repes.tar.gz
Tamaño: 4.93 KB
Descargado: 24 veces
Repes.tar.gz
Descripción:  
Descargar
Nombre del archivo: Repes.tar.gz
Tamaño: 4.93 KB
Descargado: 24 veces

 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Mostrar Elementos Sin Repetición Y Mostrar Repetidos Contandolos 
 
mah.... me parece que el tu codigo es esencial bastante.  
          21
 



 
última edición por vuott el Sabado, 22 Noviembre 2014, 14:17; editado 1 vez 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Mostrar Elementos Sin Repetición Y Mostrar Repetidos Contandolos 
 
Vuott:

Me alegro que te resulte interesante.

Estoy haciendo una pequeña aplicación muy simple para el trabajo. Me sirve de repaso.

Tengo un archivo de texto donde existen entradas de clientes de un año, de distintos países.
Como los países son distintos y repetidos tenía que saber:

- De que países son los clientes que aparecen en cada registro del archivo de texto. Sin que se repitiesen
- Conociendo los países podía crear una lista.
- Esta lista sin repeticiones y ordenada me serviría para usarla en un combobox y seleccionar clientes por país.

Es mejor que tener que escribir el nombre del país y usar la tecla Enter o Return o hacer clic en un botón.
Así que he usado el evento Change del combobox y los registros se muestran por cada país seleccionado en este.

Ahora como ya se como contar de cada elemento los repetidos. ( Los países ).
Puedo saber cuantos viajeros y de que países me visitaron.

Se que estas cosas se hacen con SQL, pero como estoy con prácticas con archivos de texto, me pareció
una buena opción.

Así que dejando la aplicación principal me puse a jugar con otra para averiguar como se hacía otra cosa.
Y esta fue una posible solución.

 viajerosporpaises

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Sabado, 22 Noviembre 2014, 18:41; editado 1 vez 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Como Mostrar ChangeLog Cubel General 0 Viernes, 09 Abril 2010, 15:28 Ver último mensaje
Cubel
No hay nuevos mensajes Mostrar Datos De La Consola gafesinremedio General 5 Jueves, 05 Agosto 2010, 19:03 Ver último mensaje
jguardon
No hay nuevos mensajes Mostrar Archivos En Conflicto Shell General 4 Martes, 25 Marzo 2014, 21:15 Ver último mensaje
Shell
No hay nuevos mensajes Reto 3(nuevo Array Sin Elementos Repetidos) v3ctor Retos de programación 4 Martes, 23 Diciembre 2014, 20:56 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron