SRL Archive - Help and Support

2D -> 3+ D Arrays.


Wanted

2007-06-28 23:19:08

Well, I finally took the time to learn 2-D arrays and made this

program Colorzz;

var
Colorz: array of array of string;

procedure SetUpColorzArray;
begin
SetArrayLength(Colorz, 5);
Colorz[0] := ['r pee is', 'r mom is', ' see'];
Colorz[1] := [' red', ' green', ' blu', 'n orang', ' black', ' yellow', ' pink', ' purpl', ' gray', ' whit'];
Colorz[2] := ['green', 'blu', 'orang', 'yellow', 'pink', 'purpl', 'whit'];
Colorz[3] := ['sparkly-', 'shiny-', 'bright-', 'dark-', 'ugly-', 'pretty-'];
Colorz[4] := ['red', 'green', 'blue', 'orange', 'black', 'yellow', 'pink', 'purple', 'gray', 'white'];
end;

begin
ClearDeBug;
SetUpColorzArray;
repeat
WriteLn('You' +
Colorz[0][Random(GetArrayLength(Colorz[0]))] + ' a' +
Colorz[1][Random(GetArrayLength(Colorz[1]))] + 'ish-' +
Colorz[2][Random(GetArrayLength(Colorz[2]))] + 'y-' +
Colorz[3][Random(GetArrayLength(Colorz[3]))] +
Colorz[4][Random(GetArrayLength(Colorz[4]))] + ' color!');
until (False);
end.

But I KNOW there is a way to make is more than just a 2 dimensional array but I can't seem to figure that out :(

If some one knows how to, and could rewrite this script and post it here using 3+ D arrays that would be great:D

Edit: Alright before you make stupid comments about the WriteLn's I just made it that way to try and learn the brute forcing capabilities.

mastaraymond

2007-06-29 02:54:34

Maybe you can learn from this:

program New;

Var
Colorz:Array of array of array of string;

procedure SetUpColorzArray;
var
I:integer;
begin
SetArrayLength(Colorz, 5);
For I:= 0 to GetArrayLength(Colorz)-1 do
SetArraylength(Colorz[I],1);
Colorz[0][0] := ['r pee is', 'r mom is', ' see'];
Colorz[1][0] := [' red', ' green', ' blu', 'n orang', ' black', ' yellow', ' pink', ' purpl', ' gray', ' whit'];
Colorz[2][0] := ['green', 'blu', 'orang', 'yellow', 'pink', 'purpl', 'whit'];
Colorz[3][0] := ['sparkly-', 'shiny-', 'bright-', 'dark-', 'ugly-', 'pretty-'];
Colorz[4][0] := ['red', 'green', 'blue', 'orange', 'black', 'yellow', 'pink', 'purple', 'gray', 'white'];
end;

begin
SetUpColorzArray;
repeat
WriteLn('You' +
Colorz[0][0][Random(GetArrayLength(Colorz[0][0]))] + ' a' +
Colorz[1][0][Random(GetArrayLength(Colorz[1][0]))] + 'ish-' +
Colorz[2][0][Random(GetArrayLength(Colorz[2][0]))] + 'y-' +
Colorz[3][0][Random(GetArrayLength(Colorz[3][0]))] +
Colorz[4][0][Random(GetArrayLength(Colorz[4][0]))] + ' color!');
until (False);
end.

Wanted

2007-06-29 17:43:08

Wow, thanks.

It seems like it gets exponentially harder as you add a dimension to the array.