RosettaCodeData/Task/Display-a-linear-combination/Yabasic/display-a-linear-combination.basic
2024-07-13 15:19:22 -07:00

38 lines
1.3 KiB
Text

dim scalars(10,4)
scalars(1,1) = 1: scalars(1,2) = 2: scalars(1,3) = 3
scalars(2,1) = 0: scalars(2,2) = 1: scalars(2,3) = 2: scalars(2,4) = 3
scalars(3,1) = 1: scalars(3,2) = 0: scalars(3,3) = 3: scalars(3,4) = 4
scalars(4,1) = 1: scalars(4,2) = 2: scalars(4,3) = 0
scalars(5,1) = 0: scalars(5,2) = 0: scalars(5,3) = 0
scalars(6,1) = 0
scalars(7,1) = 1: scalars(7,2) = 1: scalars(7,3) = 1
scalars(8,1) = -1: scalars(8,2) = -1: scalars(8,3) = -1
scalars(9,1) = -1: scalars(9,2) = -2: scalars(9,3) = 0: scalars(9,4) = -3
scalars(10,1) = -1
for n = 1 to arraysize(scalars(),1)
cadena$ = ""
for m = 1 to arraysize(scalars(),2)
scalar = scalars(n, m)
if scalar <> 0 then
if scalar = 1 then
cadena$ = cadena$ + "+e" + str$(m)
else
if scalar = -1 then
cadena$ = cadena$ + "-e" + str$(m)
else
if scalar > 0 then
cadena$ = cadena$ + chr$(43) + str$(scalar) + "*e" + str$(m)
else
cadena$ = cadena$ + str$(scalar) + "*e" + str$(m)
fi
fi
fi
fi
next m
if cadena$ = "" cadena$ = "0"
if left$(cadena$, 1) = "+" cadena$ = right$(cadena$, len(cadena$)-1)
print cadena$
next n
end