JavaScript - Suma de arrays con enteros

   
Vista:

Suma de arrays con enteros

Publicado por Antonio (7 intervenciones) el 20/11/2014 18:03:55
Buenas tardes, tenía la siguiente duda:

Tengo un ejercicio de Arrays el cual tengo casi resulto al 100%, es el siguiente:

Escriba un algoritmo que a partir de leer y almacenar en vectores el valor comercial
de 20 vehículos y el tipo (familiar (1), público (2), de carga (3)), calcule y muestre
su valor final con base en:

Para vehículos de valor superior a 100 millones, cobrar IVA de 20%, para
los demás el IVA es del 16%
• Para vehículos tipo 1, con valor hasta 50 millones, aplicar descuento
equivalente al 50% del IVA cobrado
• Para vehículos tipo 2 y 3, con valor superior a 80 millones, aplicar
sobrecosto por impuesto de rodamiento del 5%
• Para todos los vehículos, si el valor final es inferior a 80 millones, aplicar
descuento adicional del 5% del valor comercial.

Mi problema está a la hora de mostrar el valor final, que está formado por miArray[i][0] +- los porcentajes, que me lo muestra como una cadena del valor inicial y el valor de esos porcentajes ya calculados, sin añadirlos, en formato cadena. He intentado con el (int), parseInt, para forzarlos como entero y que así se sumen, quizás sea que no los coloco en el lugar adecuado, pero me los da como fallo, me gustaría que se me concediese esta pequeña ayuda. Gracias.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
var miArray = new Array (4);
 
	//Construir array
 
	for (var i = 0; i < 4; i++) {
		alert ("Vehículo 0" + (i + 1));
		miArray[i] = new Array(2);
			 miArray[i][0] = prompt ("\nPrecio: ");
			 miArray[i][1] = prompt ("Tipo (1- familiar; 2- publico; 3- de carga): ");
	}//fin for
 
	//Pinta Array
	for (var i = 0; i < 4; i++) {
		var valor= miArray[i][0];
                var tipo= miArray[i][1];
			document.write(("Vehí­culo "+ (i + 1)+":"));
 
            if( valor > 100000000 )
 
                miArray[i][0]+=  Math.round( valor*20/100 ); //Iva del 20%
 
            else
                 miArray[i][0]+=  Math.round( valor*16/100 ); //Iva del 16%
 
            if( tipo == 1 && valor <= 50000000)
                miArray[i][0]-=  Math.round( valor*8/100 ); //50% del 16%(iva) -> 8% descontado del valor comercial
 
            else if( valor > 80000000 )
                miArray[i][0]+=  Math.round( valor*5/100 ); //Impuesto rodamiento 5% sobre valor Comercial
 
            if( miArray[i][0] < 80000000 )
                miArray[i][0]-=  Math.round( valor*5/100 ); //Descuento del 5% del valor comercial
 
				document.writeln("<p> Valor Inicial: " +  miArray[i][0] + "\n Valor Final: " + valor + "\n Tipo: " + tipo + "</p>");
 
 
	}//fin for
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Suma de arrays con enteros

Publicado por xve (1596 intervenciones) el 20/11/2014 20:48:25
Hola Antonio, el simbolo + con cadena te concatena, por lo que...

1.- El valor guardado en el array por promp() es una cadena
2.- Al hacer: miArray[i][0]+=... estas concatenando

Una posible solución, es:
1
miArray[i][0]=Math.round((parseInt(valor)*20/100)+parseInt(valor));

Si tienes alguna duda, no dudes en consultarme...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Suma de arrays con enteros

Publicado por Antonio (7 intervenciones) el 21/11/2014 21:47:25
Ahora va de lujo, muchiiisimas gracias, en serio, xve.
El caso es que yo probaba con el parseInt, pero al poner la suma desde la igualdad, pues se ve que no iba, así si lo hace de lujo. Muchas gracias de nuevo por tu tiempo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Suma de arrays con enteros

Publicado por julio kaisergur@gmail.com (1 intervención) el 25/04/2016 20:35:20
hola antonio perdon por molesta lo que pasa es que apenas empieso a programar y no entendi nada lo de arrays y me piden ese programa y ps no se si me lo puedas pasar el codigo fuente en java bueno si se puede claro espero tu respuesta en este correo kaisergur@gmail.com espero y me ayudes no mas por esta ocacion por favor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Suma de arrays con enteros

Publicado por xve (1596 intervenciones) el 25/04/2016 23:17:39
Hola Julio, lo mejor que puedes hacer es plantear tus preguntas concretas en el foro... de seguro que te ayudan!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar