elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Suma de arrays en BATCH
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Suma de arrays en BATCH  (Leído 717 veces)
snpss

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Suma de arrays en BATCH
« en: 24 Septiembre 2019, 15:37 pm »

hola estoy aprendiendo el lenguaje de programacion en BATCH y tengo un inconveniente con la suma de arrays bidimensionales. Como podria solucionarlos?. Este es mi codigo.

@echo off
setlocal enabledelayedexpansion
REM construyendo los arrays:
set /p filas=ingrese el numero de filas:
set /p columnas=ingrese el numero de columnas:

for /l %%i in (0,1,%filas%) do (
  for /l %%j in (0,1,%columnas%) do (
    set /a num1=!random! %%10
    set /a num2=!random! %%10
    set array[%%i,%%j]=!num1!
    set array2[%%i,%%j]=!num2!
  )
)
set array array2
pause


REM SUMA DE ARRAYS
for /l %%i in (0,1,%filas%) do (
  for /l %%j in (0,1,%columnas%) do (
   
    set /a suma=%array[%%i,%%j]%+%array2[%%i,%%j]%
    set sumarray[%%i,%%j]=%suma%
  )
)
set sumarray
pause

exit


En línea

EdePC
Moderador Global
***
Desconectado Desconectado

Mensajes: 1.711



Ver Perfil
Re: Suma de arrays en BATCH
« Respuesta #1 en: 24 Septiembre 2019, 17:23 pm »

Saludos,

- Lo estabas haciendo bien, SetLocal EnableDelayedExpansion permite actualizar variables dentro de bucles For, pero para que esto suceda tienes que usar !variable! en lugar de %variable%, en tu caso sigues utilizando %variable% en tus bucles de suma de variables.

- En Batch puro no hay Arrays, tu idea en realidad crea variables para cada valor de tu "Array" simulándolo.

- A mí me funciona lo siguiente, fíjate que he reemplazado % por ! siempre que voy a actualizar variables dentro del bucle:

Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. REM construyendo los arrays:
  4. set /p filas=ingrese el numero de filas:
  5. set /p columnas=ingrese el numero de columnas:
  6.  
  7. for /l %%i in (0,1,%filas%) do (
  8.  for /l %%j in (0,1,%columnas%) do (
  9.    set /a num1=!random! %% 10
  10.    set /a num2=!random! %% 10
  11.    set array[%%i,%%j]=!num1!
  12.    set array2[%%i,%%j]=!num2!
  13.  )
  14. )
  15. set array array2
  16. pause
  17.  
  18. REM SUMA DE ARRAYS
  19. for /l %%i in (0,1,%filas%) do (
  20.  for /l %%j in (0,1,%columnas%) do (
  21.    set /a suma=!array[%%i,%%j]!+!array2[%%i,%%j]!
  22.    set sumarray[%%i,%%j]=!suma!
  23.  )
  24. )
  25. set sumarray
  26. pause


« Última modificación: 24 Septiembre 2019, 17:25 pm por EdePC » En línea

snpss

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Suma de arrays en BATCH
« Respuesta #2 en: 24 Septiembre 2019, 18:39 pm »

muchas gracias!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Batch] Suma decimales
Scripting
modubat 0 2,059 Último mensaje 15 Septiembre 2010, 20:55 pm
por modubat
[BATCH] Duda sobre ¿Arrays? [Solucionado]
Scripting
Karcrack 3 4,201 Último mensaje 4 Febrero 2011, 15:44 pm
por Edu
[BATCH]Mostrar Suma de las lineas de un archivo de texto. « 1 2 »
Scripting
FranciskoAsdf 10 9,123 Último mensaje 1 Julio 2011, 09:27 am
por WaAYa HaCK
[BATCH]Suma y resta números de cualquier longitud
Scripting
Binary_Death 1 2,562 Último mensaje 24 Julio 2012, 11:22 am
por BatchianoISpyxolo
(Solucionado) Suma de Arrays
Programación C/C++
dennis094 0 627 Último mensaje 19 Enero 2014, 19:11 pm
por dennis094
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines