Multidimentional arrays and l33tspeak
Ha\/inG LOGIC 3ncOded In Y0Ur dAt@ DeFINITIoNs CAn b3 a verY useFul tHing @S
liSp-Like l4NGUaGES Pr0\/E TIMe and 4GaiN. When UsIng C
hOweVer it'S usuaLlY
rEcOmmeNDed to STIck T0 Th3 imPer4tIv3 TecHnIQueS aNd @Void 3mbedDiNG daTA wiTH
LOgIC.
H@ving ThIS iN mInd, I Rarely used L0gIc-E|\/|bedded data in mY C
projeCTS. And
as 4 siD3 3FfecT I Ne\/3R got TO Expl0r3 |\/|uLtidImEnTIONal C
arr4Ys, aS I NEVEr
H4d 4 neEd FOr ThOs3 sincE I 3Nc0dED all |\/|Y D4T@ IN STrUcts.
I hAd an idea lYiNG aroUNd in a .C
fil3 f0R a wHile now, a sImplE pRogrAm t0
TuRn Text In l33TsPeAK
, ANd T0dAY I hAd AN EpIpH@Ny to use @ mUltidIMentiOn@l
@Rray t0 3NcODE th3 mApPinG fr0m ThE 3Nglish char4CT3rs to th3 L33tspEAk
SyMbolS.
THiS iS thE OutpUT of tHe progr4m! And tHIs iS Th3 MuLtIdiMenTion4l aRraY:
struct x { char k; int n; char v[10][10]; }; const struct x M[] = { {.k = 'a', .n = 3, .v = {"A", "@" , "4" } }, {.k = 'b', .n = 2, .v = {"B", "|3", } }, {.k = 'c', .n = 1, .v = {"C", } }, {.k = 'd', .n = 1, .v = {"D", } }, {.k = 'e', .n = 2, .v = {"E", "3", } }, {.k = 'f', .n = 1, .v = {"F", } }, {.k = 'g', .n = 1, .v = {"G", } }, {.k = 'h', .n = 1, .v = {"H", } }, {.k = 'i', .n = 1, .v = {"I", } }, {.k = 'j', .n = 1, .v = {"J", } }, {.k = 'k', .n = 1, .v = {"K", } }, {.k = 'l', .n = 1, .v = {"L", } }, {.k = 'm', .n = 2, .v = {"M", "|\\/|", } }, {.k = 'n', .n = 1, .v = {"N", } }, {.k = 'o', .n = 2, .v = {"O", "0", } }, {.k = 'p', .n = 1, .v = {"P", } }, {.k = 'q', .n = 1, .v = {"Q", } }, {.k = 'r', .n = 1, .v = {"R", } }, {.k = 's', .n = 1, .v = {"S", } }, {.k = 't', .n = 1, .v = {"T", } }, {.k = 'u', .n = 1, .v = {"U", } }, {.k = 'v', .n = 2, .v = {"V", "\\/" } }, {.k = 'w', .n = 2, .v = {"W", "\\/\\/" } }, {.k = 'x', .n = 1, .v = {"X", } }, {.k = 'y', .n = 1, .v = {"Y", } }, {.k = 'z', .n = 1, .v = {"Z", } }, };