# Qbasicnews.com

Full Version: Make this better.
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Basic program (er) is from a question on qbasic.com. how to do:

for i% = 1 to n%
for j% = 1 to n-1
for k% = 1 to n-2
for l% = 1 to n-3
for m% = 1 to 2
next i%
etc.

n% times.

--------------------

Could also change numbers to symbols.... or shades... or change the equation.......

Code:
```CLS : n% = 9: DIM SHARED val1(2 TO n%) AS INTEGER FOR i% = 2 TO n%: val1(i%) = 1: NEXT i%: combo& = 1 DO combo2\$ = LTRIM\$(STR\$(combo&)) c1% = ((combo& \ 10) AND 15) + 1: FOR i% = 1 TO LEN(combo2\$): COLOR c1% PRINT MID\$(combo2\$, i%, 1); : c1% = c1% + 1: IF c1% > 15 THEN c1% = 1 NEXT i% val1%(2) = val1%(2) + 1: i% = 2: combo& = combo& * val1%(2) / (val1%(2) - 1) DO IF val1%(i%) > i% THEN IF i% = n% THEN GOTO exitdo2 combo& = combo& \ val1%(i%): val1%(i%) = 1: i% = i% + 1 val1(i%) = val1(i%) + 1: combo& = combo& * val1%(i%) \ (val1%(i%) - 1) ELSE EXIT DO END IF LOOP LOOP exitdo2: COLOR 7```
Eh, I'd give it a try, but I'm not too sure what exactly you're doing with it...
Quote:Eh, I'd give it a try, but I'm not too sure what exactly you're doing with it...

Nothing...er......
What I meant is, what exactly does it do?
It does what I said it does..... er.... except in the example I didn't put down what the number turns out to be..

Code:
```for i% = 1 to 6 for j% = 1 to 5 for k% = 1 to 4 for l% = 1 to 3 for m% = 1 to 2 print m%*l%*k%*j%*i% next m%, l%, k%, j%, i%```

Except it does this N% times.
What does this program calculate????! Except for 6! of course (n! when using n%).

If you want to calculate n! what are all those innerloops for? Or does it calculate something useful...
run it......
Ah, I guess I understand it now. I guess I'll give it a shot.
1) There is a sudden unintended color shift once in a while. I just can't seem to get rid of it. Happens when t3& rolls over. HELP!
EDIT: FIXED. Works great now!

2) Try not to get epileptic seizures while running this program.

EDIT
3) Stand a few feet away and look at what happens on your computer screen. It's more effective that way.

Code:
```CLS : SCREEN 13: n% = 5: DIM SHARED val1(2 TO n%) AS INTEGER a% = 0 c% = 1 e% = 1 t1# = TIMER FOR i& = 0 TO 31 i3& = i3& + e% IF i3& = 31 THEN e% = -1 ELSE IF i3& = 0 THEN e% = 1 i4& = i3& * 256 + i3& * 65536: PALETTE i&, i4&: PALETTE 63 - i&, i4& NEXT i& DO b% = (b% - 1) MOD 20 a% = (a% + 2) MOD 10 FOR i% = 2 TO n%: val1(i%) = 1: NEXT i%: combo& = 1 DO: IF INKEY\$ <> "" THEN GOTO exitdo2 IF ABS(t1# - TIMER) > .1 THEN t1# = TIMER e% = 1 i2& = i2& + c%: i3& = i2&: IF i2& = 30 THEN c% = -1:  ELSE IF i2& = 1 THEN c% = 1 FOR i& = 0 TO 31 i3& = i3& + e% IF i3& = 31 THEN e% = -1 ELSE IF i3& = 0 THEN e% = 1 i4& = i3& * 256 + i3& * 65536: PALETTE i&, i4&: PALETTE 63 - i&, i4& NEXT i& END IF combo2\$ = LTRIM\$(STR\$(combo&)) FOR i% = 1 TO LEN(combo2\$) temp% = VAL(MID\$(combo2\$, i%, 1)) SELECT CASE i2% CASE 0: x1% = (x1% + temp%) MOD 320 CASE 1: y1% = (y1% + temp%) MOD 200 CASE 2: line1% = (line1% + temp%) MOD 3 CASE 3: line2% = (line2% + temp%) MOD 3 CASE 4: c1% = (c1% + temp%) MOD 64 LINE (x1% + a%, y1% + b%)-(x1% + a% + line1%, y1% + b% + line2%), c1% END SELECT i2% = (i2% + 1) MOD 5 NEXT i% val1%(2) = val1%(2) + 1: i% = 2: combo& = combo& * val1%(2) / (val1%(2) - 1) DO IF val1%(i%) > i% THEN IF i% = n% THEN GOTO exitdo1 combo& = combo& \ val1%(i%): val1%(i%) = 1: i% = i% + 1 val1(i%) = val1(i%) + 1: combo& = combo& * val1%(i%) \ (val1%(i%) - 1) ELSE EXIT DO END IF LOOP LOOP exitdo1: LOOP exitdo2: COLOR 7```
*cries*
Pages: 1 2