Foros del Web » Programando para Internet » Javascript »

otra vez yo, como juntar todos estos numeros?

Estas en el tema de otra vez yo, como juntar todos estos numeros? en el foro de Javascript en Foros del Web. Hola, bueno gracias a la ayuda de muhos aqui, ya tengo esta gran parte de mi primer script en javascritp (un logro); bueno explico el ...
  #1 (permalink)  
Antiguo 17/04/2004, 15:42
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 3 meses
Puntos: 6
otra vez yo, como juntar todos estos numeros?

Hola, bueno gracias a la ayuda de muhos aqui, ya tengo esta gran parte de mi primer script en javascritp (un logro);


bueno explico el caso:
introdujo 11 numeros en un text field, esos numeros los divido en partes osea en numeros independientes ejemplo: 10 tendria dos numeros independiente que son el 1 y el 0, ahora bien, seguido hago multiplicacion por 2, esto es de esta forma : tenemos el 1 y el 0 entonces la multiplicacion por 2 es asi: 1 * 1 y 0 * 2, que es esto?, bueno en realidad la multiplicacion debe ser cada numero independiente multiplicado por 1 y 2 ejemplo: tengo estos numeros 1536589 comenzamos a multiplicar 1*1,5*2,3*1,6*2...sucesivamente, el primer digito por 1 y el segundo por 2 etc..

ahora bien, ya tengo esta parte realizada, pero si la multiplicacion de uno de estos numeros es mayor que 9 , ejemplo : 8*2=16, ese 16 tengo que convertirlo en 1 + 6 = 7 (los divido en dos cifras y las sumo, me quedo con el resultado)...

hasta aqui tengo todo, como hago, para sumar todos los resultados?

osea los diferentes resultados de la parte 1*1, 5*2... mas los que son mayores que 9, ejemplo 16=1+6=7, este 7 como lo sumo con los demas resultados?

aqui esta la parte que llevo del scritp

Código PHP:
// JavaScript Document
function numero(){
    var 
cedula=document.form.cedula.value;
    if(
cedula.length!=11){
        
alert("Cédula mal digitada");
        }else if(
cedula.length==11){
            
//variable="00100096553";
            
numero=new Array();
            for(var 
a=0;a<cedula.length;a++){
                
numero[a]=parseInt(cedula.charAt(a));
              }
            for(var 
b=1b<=10;b+=2){
                
numero[b] = numero[b]*2;
                
document.write(numero[b] + "<br>");
                if(
numero[b]>9){
                    var 
numDiv=numero[b].toString().split();
                    var 
n1=parseInt(numDiv/10);
                    var 
n2=numDiv 10;
                    
alert(n1+"-"+n2);
                    var 
sum=n1+n2;
                    
alert(sum);
                    }
            }
      }

eso alert es para ver como voy progresando :D
Saludos
__________________
www.dataautos.com
  #2 (permalink)  
Antiguo 17/04/2004, 16:04
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola asinox:

No sé si te entendí bien, pero creo que lo que quieres es lo más fácil... ... sólo te falta un bucle y un acumulador:

Ten cuidado de no dar a la variable el mismo nombre que la función (numero)

function numero(){
var cedula = "00100096553";
if(cedula.length!=11){
alert("Cédula mal digitada");
}else if(cedula.length==11){
//variable="00100096553";
numero=new Array();
for(var a=0;a<cedula.length;a++){
numero[a]=parseInt(cedula.charAt(a));
}
for(var b=1; b<=10;b+=2){
numero[b] = numero[b]*2;
document.write(numero[b] + "<br>");
if(numero[b]>9){
var numDiv=numero[b].toString().split();
var n1=parseInt(numDiv/10);
var n2=numDiv % 10;
// alert(n1+"-"+n2);
var sum=n1+n2;
}
}

for(var i=1, contador = 0; i<=10;i++) contador += numero[i];
alert(contador);


}
}

Fíjate que solo puse un bucle que recorre el array y va sumando los valores al acumulador (contador)
for(var i=1, contador = 0; i<=10;i++) contador += numero[i];

Saludos
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 07:49.