Wordsearch Solver (Code-Golfed)
Removes all letters that do not belong to words for the input.
by briguy37
HTML
<table valign="top">
<tr>
<td valign="top">
<b>Puzzle 1:</b>
<pre id="puzzle1">LLJKCABLFCI
OROLOBOCOIM
GELACSAPRSX
LPSTAHWVTAV
ANRLXLXQRBI
IHPLEDOXAHS
KJYAPHPYNOU
FABMADANZJA
EVISNOHTYPL
AAYLBMESSAC
WEIVBALOGOM</pre>
</td>
<td valign="top">
<b>Words:</b>
<pre>ADA
ALGOL
ASSEMBLY
BASIC
COBOL
DELPHI
FORTRAN
JAVA
LABVIEW
LOGO
PASCAL
PERL
PHP
PYTHON
SMALLTALK
VISUALC</pre>
</td>
<td valign="top">
<b>Solution 1:</b>
<pre id="input1"></pre>
</td>
</tr>
<tr>
<td valign="top">
<b>Puzzle 2:</b>
<pre id="puzzle1">IAUERAWTFOSICPN
DGZPFLOPPYARFLU
RSNOCURSORVZDBM
AMNIUOMRNHEGUIN
OTBNSRMONITORNT
BEYTTSGPJBOLDRT
YRQEAHEHARDWARE
EOGRRNECECLOSEP
KIONTYKTODTOWER
ELCENSUPERPDKNN
ATRTPRYKELPVIEJ
GIEANPOTKSEDUSL
NXCMPASSWORDRUC
TEDITAGVSWJCTOV
CWOYPGYQKNLVXMW</pre>
</td>
<td valign="top">
<b>Words:</b>
<pre>BACKSPACE
BOLD
CLOSE
COMPACTDISC
COPY
CPU
CURSOR
DELETE
DESKTOP
DVD
EDIT
ENTER
EXIT
FLOPPY
FONT
HARDWARE
INTERNET
KEYBOARD
MONITOR
MOUSE
PASSWORD
PASTE
RETURN
SAVE
SOFTWARE
START
TEXT
TOWER
WORDPROCESSING</pre>
</td>
<td valign="top">
<b>Solution 2:</b>
<pre id="input2"></pre>
</td>
</tr>
</table>
CSS
td {
border: 1px solid black;
padding: 5px;
}
JavaScript
function a(b){c='\n';d=b.split(c+c);e=d[1].split(c);for(f=-1,g=[];h=e[++f];)for(i=-1,g[f]=[];h[++i];)for(j=-2,g[f][i]=' ';2>++j;)for(l=-2;2>++l;)for(k=0;m=d[0].split(c)[k++];)for(n=-1;o=m[++n];)for(p=f-n*j-j,q=i-n*l-l,r=0;(s=m[r++])&&(t=e[p+=j])&&(u=t[q+=l])&&s==u;)if(r==m.length)g[f][i]=o;for(i=0;v=g[i];)g[i++]=v.join('');return g.join(c)}
var input = "ADA\n"+
"ALGOL\n"+
"ASSEMBLY\n"+
"BASIC\n"+
"COBOL\n"+
"DELPHI\n"+
"FORTRAN\n"+
"JAVA\n"+
"LABVIEW\n"+
"LOGO\n"+
"PASCAL\n"+
"PERL\n"+
"PHP\n"+
"PYTHON\n"+
"SMALLTALK\n"+
"VISUALC\n"+
"\n"+
"LLJKCABLFCI\n"+
"OROLOBOCOIM\n"+
"GELACSAPRSX\n"+
"LPSTAHWVTAV\n"+
"ANRLXLXQRBI\n"+
"IHPLEDOXAHS\n"+
"KJYAPHPYNOU\n"+
"FABMADANZJA\n"+
"EVISNOHTYPL\n"+
"AAYLBMESSAC\n"+
"WEIVBALOGOM\n";
document.getElementById('input1').innerHTML = a(input);
var input2 = "BACKSPACE\n"+
"BOLD\n"+
"CLOSE\n"+
"COMPACTDISC\n"+
"COPY\n"+
"CPU\n"+
"CURSOR\n"+
"DELETE\n"+
"DESKTOP\n"+
"DVD\n"+
"EDIT\n"+
"ENTER\n"+
"EXIT\n"+
"FLOPPY\n"+
"FONT\n"+
"HARDWARE\n"+
"INTERNET\n"+
"KEYBOARD\n"+
"MONITOR\n"+
"MOUSE\n"+
"PASSWORD\n"+
"PASTE\n"+
"RETURN\n"+
"SAVE\n"+
"SOFTWARE\n"+
"START\n"+
"TEXT\n"+
"TOWER\n"+
"WORDPROCESSING\n"+
"\n"+
"IAUERAWTFOSICPN\n"+
"DGZPFLOPPYARFLU\n"+
"RSNOCURSORVZDBM\n"+
"AMNIUOMRNHEGUIN\n"+
"OTBNSRMONITORNT\n"+
"BEYTTSGPJBOLDRT\n"+
"YRQEAHEHARDWARE\n"+
"EOGRRNECECLOSEP\n"+
"KIONTYKTODTOWER\n"+
"ELCENSUPERPDKNN\n"+
"ATRTPRYKELPVIEJ\n"+
"GIEANPOTKSEDUSL\n"+
"NXCMPASSWORDRUC\n"+
"TEDITAGVSWJCTOV\n"+
"CWOYPGYQKNLVXMW\n";
document.getElementById('input2').innerHTML = a(input2);