Foros del Web » Programación para mayores de 30 ;) » .NET »

Revisar numeros repetidos en C#

Estas en el tema de Revisar numeros repetidos en C# en el foro de .NET en Foros del Web. Hola a todos !! Estoy empezando en esto de C# y estoy haciendo un programita que pide al usuario que ingrese manualmente 10 números de ...
  #1 (permalink)  
Antiguo 03/02/2010, 20:02
 
Fecha de Ingreso: febrero-2010
Mensajes: 1
Antigüedad: 14 años, 2 meses
Puntos: 0
Revisar numeros repetidos en C#

Hola a todos !!
Estoy empezando en esto de C# y estoy haciendo un programita que pide al usuario que ingrese manualmente 10 números de 3 cifras que los estoy llenando en un array.
El problema que tengo es que de los 10 números que ingrese no pueden estar repetidos las últimas 2 cifras. Ejemp. : si el usuario ingresa el nº 023 y el 923 debo pedirle que ingrese un nuevo numero ya que las ultimas 2 cifras se repiten.
El tema es que no se como comprobar que esas 2 ultimas cifras no se repitan
Si pudieran darme una mano les agradecería
  #2 (permalink)  
Antiguo 04/02/2010, 05:27
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 6 meses
Puntos: 156
Respuesta: Revisar numeros repetidos en C#

Con "Right"

Ejemplo:
Cita:
Dim myArray(2) As String
myArray(0) = 123
myArray(1) = 245
myArray(2) = 555
For x As Integer = 0 To 2
If Microsoft.VisualBasic.Right(myArray(x).ToString, 2) = Microsoft.VisualBasic.Right(Me.TextEdit1.Text, 2) Then
MsgBox("Encontrado")
End If
Next
  #3 (permalink)  
Antiguo 04/02/2010, 10:10
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: Revisar numeros repetidos en C#

freegirl, eso no le funcionará si almacena los números como enteros y no como cadena.

En caso de guardar los números como enteros en el array tienes dos opciones:
- Hacer una conversión a cadena de los numeros y así usar la función Right
- Usar matemáticas ;) En esta opción lo mejor si quieres obtener los dós últimos dígitos es usar el módulo 100 (es decir, el resto de dividir entre 100).

Esta opción es muy fácil de implementar mediante la palabra mod en VB o en C# mediante el operando %.

Ejemplo:

452 mod 100 = 52
452 % 100 = 52
__________________
Aviso: No se resuelven dudas por MP!
  #4 (permalink)  
Antiguo 05/02/2010, 04:49
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 6 meses
Puntos: 156
Respuesta: Revisar numeros repetidos en C#

¿pero como guardas por ejemplo el 025? porque si es un integer te quita el cero, por lo cual se debe guardar en un string...

un saludo
  #5 (permalink)  
Antiguo 05/02/2010, 05:29
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: Revisar numeros repetidos en C#

Cita:
Iniciado por freegirl Ver Mensaje
¿pero como guardas por ejemplo el 025? porque si es un integer te quita el cero, por lo cual se debe guardar en un string...

un saludo
Técnicamente el 25 no es un número de tres cifras :P

Pero bueno, ciñiendose al asunto, que problema hay en guardarlo como un número? Si es para luego imprimirlo, puedes usar la funcion ToString pasandole un formateador de cadena.

Yo si tubiese que programarlo haría la conversión de cadena a número, creo que es muy beneficiosa en muchos sentidos:
- al hacer es casting, si la cadena no era un númeo "abc" generará una excepción, por lo que puedes capturar ese tipo de "error" por parte del usuario
- personalmente me gusta guardar los datos conforme lo que son. Al ser introducidos por el usuario todo son cadenas, pero si un dato es numérico, me gusta pasarlo a número para poderlo tratar como tal.

De todas formas, es más por el estilo personal de programación que pueda tener cada uno :)
__________________
Aviso: No se resuelven dudas por MP!
  #6 (permalink)  
Antiguo 05/02/2010, 05:58
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 6 meses
Puntos: 156
Respuesta: Revisar numeros repetidos en C#

Pero vamos, que nos podemos ir rompiendo la cabeza mientras el interesado no diga 100% que finalidad tiene


es que depende de la finalidad de su ejercicio, a lo mejor son simple strings y no son números....Por ejemplo, un sorteo. Pues habría números con ceros a la izquierda. Y yo personalmente lo trataría como strings y una máscara para que no me introduzca caract. que no sean números. Cierto que yo puedo estar interprentándolo mal, porque no ha dicho pa que lo quiere. Lo del sorteo me lo he imaginado yo....

Cierto que matemáticamente no tiene valor alguno el cero a la izquierda ..........y ya lo dice el refrán jiji


saludos

Etiquetas: numeros, repetidos, revisar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:21.