Comunidad de diseño web y desarrollo en internet online

generar un numero mayor que otro

Citar            
MensajeEscrito el 22 Ene 2008 08:08 pm
Hola.
Mi duda es la siguiente…
Estoy haciendo una pequeña aplicación de sumas y restas, pero el problema es con las restas, ya que al generar los números, el número superior a veces es menor que el numero inferior, (me interesa que el resultado sea positivo) ya que lo hago con la opción random()

Num1=random(10000);
Num2=random(10000);

Como hago para que Num2 sea siempre menor que Num1? :?

Gracias.

Por juanchica224

45 de clabLevel



Genero:Masculino  

Mi castillo

msie
Citar            
MensajeEscrito el 22 Ene 2008 08:24 pm
puedes poner un if
si num1 es menor entonces n2 - n1
si no n1- n2

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

firefox
Citar            
MensajeEscrito el 22 Ene 2008 08:31 pm
no entiendo muy bien lo que intentas decirme

Por juanchica224

45 de clabLevel



Genero:Masculino  

Mi castillo

msie
Citar            
MensajeEscrito el 22 Ene 2008 08:45 pm
Al tanteo:


Código :

if (n1<n2){
n3=n2-n1
}
else{
n3=n1-n2
}



algo asi

Por tribak

Claber

2448 de clabLevel

6 tutoriales

Genero:Masculino   Héroes

Fotógrafo o algo

firefox
Citar            
MensajeEscrito el 22 Ene 2008 10:45 pm
Si lo que quieres es que el resultado sea siempre positivo, simplemente usa el método abs (Math.abs) y te dará el valor absoluto (sin signo). No importa si el primer número es menor que el segundo.

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 23 Ene 2008 12:35 am
Pero quedara medio raro eso no?
por que el quiere una resta normal no una rara xD

Por tribak

Claber

2448 de clabLevel

6 tutoriales

Genero:Masculino   Héroes

Fotógrafo o algo

firefox
Citar            
MensajeEscrito el 23 Ene 2008 12:43 am
8-10=2?
ilogico U_U el solo quiere hacer restas reales...

Por tribak

Claber

2448 de clabLevel

6 tutoriales

Genero:Masculino   Héroes

Fotógrafo o algo

firefox
Citar            
MensajeEscrito el 23 Ene 2008 02:51 am
No sé que llamas una resta "rara". Si no he leído mal lo que quiere es precisamente obtener el valor absoluto porque toma números aleatorios. A menos que lo que quiera sea cambiar el orden de los números.

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 23 Ene 2008 04:29 am
pues sera juana pero tu codigo como que se va de el caso U_U creo!

ahora que reviso "bien" el post creo que eso de "cambiar el orden de los numeros" no va xD

seria mas bien algo asi

Al tanteo (de nuevo):

Código :

if (n1>n2){
n3=n1-n2;
}

si el primer numero no es mayor que el segundo simplemente no hara nada xD

juanchica224, en sus 5 sentidos (espero xD) escribió:

me interesa que el resultado sea positivo

Pues bien creo que asi no hay manera que el valor sea menor de 1 (positivo)

Por tribak

Claber

2448 de clabLevel

6 tutoriales

Genero:Masculino   Héroes

Fotógrafo o algo

firefox
Citar            
MensajeEscrito el 24 Ene 2008 03:35 am
Pues, sí, parece que me equivoqué y lo que quiere es ordenar los operandos, de modo que el primero sea siempre mayor al segundo. Voy a imaginar que colocas cada operando en un cuadro de texto:

Código :

//Generamos los números aleatoriamente
Num1:Number = random(10000);
Num2:Number = random(10000);
//Verificamos si Num1 es menor que Num2
if(Num1 < Num2){
//Si Num1 es menor que Num2:
//Guardamos el valor de Num1 en una variable temporal.
   var numTemp:Number = Num1;
//Pasamos el valor de Num2 a Num1
   Num1 = Num2;
//Pasamos el valor de la variable temporal a Num2
   Num2 = numTemp;
 }
//Ahora sólo tienes que pasar los valores de las variables a los cuadros de texto
texto1_txt.text = Num1;
texto2_txt.tex = Num2;


Por cierto, respecto a los valores absolutos, aquí hay una explicación sobre ellos

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 24 Ene 2008 11:07 am

Código :

Nums = [random(10000),random(10000)].sort(16);

trace(Nums[0]+"   "+Nums[1]); //Nums[1] será siempre mayor que Nums[0]

(extensible a una serie de números aleatorios ordenados.)

En este caso puede ser simplemente:

Código :

num1 = random(10000);
num2 = random(num1);

Por Teseo

SWAT Team

1780 de clabLevel

14 tutoriales

Genero:Masculino   SWAT

firefox
Citar            
MensajeEscrito el 24 Ene 2008 03:10 pm
No se si me haga entender... pero.... haz probado el valor absoluto?.. o simplemente mirar si es negativo, entonces multiplicarle por -1.

Por gustavogarzon

166 de clabLevel



 

msie7
Citar            
MensajeEscrito el 24 Ene 2008 03:14 pm
Con los simples código que ha puesto Teseo se arregla, no le déis más vueltas.

PD: No es coña, gracias Teseo una vez más.

Por One

Claber

1488 de clabLevel

5 tutoriales

Genero:Masculino  

Programador Web

firefox
Citar            
MensajeEscrito el 24 Ene 2008 08:55 pm
gracias teseo por tu respuesta..... me ha caido al pelo!!!!

Por juanchica224

45 de clabLevel



Genero:Masculino  

Mi castillo

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.