September Morn Update
This commit is contained in:
parent
4e2d22a71d
commit
aac6731f2c
6856 changed files with 141342 additions and 21127 deletions
17
Task/Search-a-list/BASIC/search-a-list-2.basic
Normal file
17
Task/Search-a-list/BASIC/search-a-list-2.basic
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
100 PROGRAM "Search.bas"
|
||||
110 STRING A$(1 TO 55)*8
|
||||
120 FOR I=1 TO 55
|
||||
130 READ A$(I)
|
||||
140 PRINT A$(I);" ";
|
||||
150 NEXT
|
||||
160 DO
|
||||
170 PRINT :INPUT PROMPT "Word to seatch for? (Leave blank to exit) ":S$
|
||||
180 LET S$=LCASE$(LTRIM$(RTRIM$(S$))):LET FOUND=0
|
||||
190 IF S$="" THEN EXIT DO
|
||||
200 FOR I=LBOUND(A$) TO UBOUND(A$)
|
||||
210 IF A$(I)=S$ THEN LET FOUND=-1:PRINT "Found """;S$;""" at index";I
|
||||
220 NEXT
|
||||
230 IF NOT FOUND THEN PRINT """";S$;""" not found."
|
||||
240 LOOP
|
||||
250 DATA foo,bar,baz,quux,quuux,quuuux,bazola,ztesch,foo,bar,thud,grunt,foo,bar,bletch,foo,bar,fum,fred,jim,sheila,barney,flarp,zxc
|
||||
260 DATA spqr,wombat,shme,foo,bar,baz,bongo,spam,eggs,snork,foo,bar,zot,blarg,wibble,toto,titi,tata,tutu,pippo,pluto,paperino,aap,noot,mies,oogle,foogle,boogle,zork,gork,bork
|
||||
|
|
@ -1,16 +1,21 @@
|
|||
import system'routines.
|
||||
import extensions.
|
||||
import system'routines;
|
||||
import extensions;
|
||||
|
||||
program =
|
||||
[
|
||||
var haystack := ("Zig", "Zag", "Wally", "Ronald", "Bush", "Krusty", "Charlie", "Bush", "Bozo").
|
||||
public program()
|
||||
{
|
||||
var haystack := new string[]{"Zig", "Zag", "Wally", "Ronald", "Bush", "Krusty", "Charlie", "Bush", "Bozo"};
|
||||
|
||||
("Washington", "Bush") forEach(:needle)
|
||||
[
|
||||
var index := haystack indexOfElement:needle.
|
||||
new string[]{"Washington", "Bush"}.forEach:(needle)
|
||||
{
|
||||
var index := haystack.indexOfElement:needle;
|
||||
|
||||
if (index == -1)
|
||||
[ console printLine(needle," is not in haystack") ];
|
||||
[ console printLine(index," ",needle) ].
|
||||
].
|
||||
].
|
||||
{
|
||||
console.printLine(needle," is not in haystack")
|
||||
}
|
||||
else
|
||||
{
|
||||
console.printLine(needle, " - ", index)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,2 @@
|
|||
import Control.Monad
|
||||
import Control.Arrow
|
||||
|
||||
*Main> map (ap (,) (flip elemIndex haystack)) needles
|
||||
*Main> ((,) <*> flip elemIndex haystack) <$> needles
|
||||
[("Washington",Nothing),("Bush",Just 4)]
|
||||
|
|
|
|||
|
|
@ -1,21 +1,37 @@
|
|||
/*REXX program searches a collection of strings (an array of periodic table elements).*/
|
||||
/*───────────────names of the first 200 elements of the periodic table.─────────────*/
|
||||
_= 'hydrogen helium lithium beryllium boron carbon nitrogen oxygen fluorine neon sodium'
|
||||
_=_ 'magnesium aluminum silicon phosphorous sulfur chlorine argon potassium calcium'
|
||||
_=_ 'scandium titanium vanadium chromium manganese iron cobalt nickel copper zinc'
|
||||
_=_ 'gallium germanium arsenic selenium bromine krypton rubidium strontium yttrium'
|
||||
_=_ 'zirconium niobium molybdenum technetium ruthenium rhodium palladium silver cadmium'
|
||||
_=_ 'indium tin antimony tellurium iodine xenon cesium barium lanthanum cerium'
|
||||
_=_ 'praseodymium neodymium promethium samarium europium gadolinium terbium dysprosium'
|
||||
_=_ 'holmium erbium thulium ytterbium lutetium hafnium tantalum tungsten rhenium osmium'
|
||||
_=_ 'iridium platinum gold mercury thallium lead bismuth polonium astatine radon'
|
||||
_=_ 'francium radium actinium thorium protactinium uranium neptunium plutonium americium'
|
||||
_=_ 'curium berkelium californium einsteinium fermium mendelevium nobelium lawrencium'
|
||||
_=_ 'rutherfordium dubnium seaborgium bohrium hassium meitnerium darmstadtium'
|
||||
_=_ 'roentgenium copernicium nihonium flerovium moscovium livermorium tennessine'
|
||||
_=_ 'oganesson ununennium unbinilium unbiunium unbibium unbitrium unbiquadium'
|
||||
_=_ 'unbipentium unbihexium unbiseptium unbioctium unbiennium untrinilium untriunium'
|
||||
_=_ 'untribium untritrium untriquadium untripentium untrihexium untriseptium untrioctium'
|
||||
_=_ 'untriennium unquadnilium unquadunium unquadbium unquadtrium unquadquadium'
|
||||
_=_ 'unquadpentium unquadhexium unquadseptium unquadoctium unquadennium unpentnilium'
|
||||
_=_ 'unpentunium unpentbium unpenttrium unpentquadium unpentpentium unpenthexium'
|
||||
_=_ 'unpentseptium unpentoctium unpentennium unhexnilium unhexunium unhexbium unhextrium'
|
||||
_=_ 'unhexquadium unhexpentium unhexhexium unhexseptium unhexoctium unhexennium'
|
||||
_=_ 'unseptnilium unseptunium unseptbium unsepttrium unseptquadium unseptpentium'
|
||||
_=_ 'unsepthexium unseptseptium unseptoctium unseptennium unoctnilium unoctunium'
|
||||
_=_ 'unoctbium unocttrium unoctquadium unoctpentium unocthexium unoctseptium unoctoctium'
|
||||
_=_ 'unoctennium unennilium unennunium unennbium unenntrium unennquadium unennpentium'
|
||||
_=_ 'unennhexium unennseptium unennoctium unennennium binilnilium'
|
||||
|
||||
haystack=, /*names of the first 200 elements of the periodic table*/
|
||||
'hydrogen helium lithium beryllium boron carbon nitrogen oxygen fluorine neon sodium magnesium aluminum silicon phosphorous sulfur chlorine argon potassium calcium scandium titanium',
|
||||
'vanadium chromium manganese iron cobalt nickel copper zinc gallium germanium arsenic selenium bromine krypton rubidium strontium yttrium zirconium niobium molybdenum technetium ruthenium',
|
||||
'rhodium palladium silver cadmium indium tin antimony tellurium iodine xenon cesium barium lanthanum cerium praseodymium neodymium promethium samarium europium gadolinium terbium dysprosium',
|
||||
'holmium erbium thulium ytterbium lutetium hafnium tantalum tungsten rhenium osmium iridium platinum gold mercury thallium lead bismuth polonium astatine radon francium radium actinium',
|
||||
'thorium protactinium uranium neptunium plutonium americium curium berkelium californium einsteinium fermium mendelevium nobelium lawrencium rutherfordium dubnium seaborgium bohrium hassium',
|
||||
'meitnerium darmstadtium roentgenium copernicium Ununtrium flerovium Ununpentium livermorium Ununseptium Ununoctium Ununennium Unbinilium Unbiunium Unbibium Unbitrium Unbiquadium',
|
||||
'Unbipentium Unbihexium Unbiseptium Unbioctium Unbiennium Untrinilium Untriunium Untribium Untritrium Untriquadium Untripentium Untrihexium Untriseptium Untrioctium Untriennium Unquadnilium',
|
||||
'Unquadunium Unquadbium Unquadtrium Unquadquadium Unquadpentium Unquadhexium Unquadseptium Unquadoctium Unquadennium Unpentnilium Unpentunium Unpentbium Unpenttrium Unpentquadium',
|
||||
'Unpentpentium Unpenthexium Unpentseptium Unpentoctium Unpentennium Unhexnilium Unhexunium Unhexbium Unhextrium Unhexquadium Unhexpentium Unhexhexium Unhexseptium Unhexoctium Unhexennium',
|
||||
'Unseptnilium Unseptunium Unseptbium Unsepttrium Unseptquadium Unseptpentium Unsepthexium Unseptseptium Unseptoctium Unseptennium Unoctnilium Unoctunium Niobium Unocttrium Unoctquadium',
|
||||
'Unoctpentium Unocthexium Unoctseptium Unoctoctium Unoctennium Unennilium Unennunium Unennbium Unenntrium Unennquadium Unennpentium Unennhexium Unennseptium Unennoctium Unennennium Binilnilium'
|
||||
|
||||
needle = 'gold' /*we'll be looking for the gold. */
|
||||
upper needle haystack /*in case some people capitalize stuff. */
|
||||
idx=wordpos(needle,haystack) /*use REXX's BIF: WORDPOS */
|
||||
if idx\==0 then return idx /*return the haystack index number. */
|
||||
haystack= _ /*assign the elements ───► haystack. */
|
||||
needle = 'gold' /*we'll be looking for the gold. */
|
||||
upper needle haystack /*in case some people capitalize stuff.*/
|
||||
idx= wordpos(needle, haystack) /*use REXX's BIF: WORDPOS */
|
||||
if idx\==0 then return idx /*return the haystack index number. */
|
||||
else say needle "wasn't found in the haystack!"
|
||||
return 0 /*indicates the needle wasn't found. */
|
||||
return 0 /*indicates the needle wasn't found. */
|
||||
/*stick a fork in it, we're all done. */
|
||||
|
|
|
|||
32
Task/Search-a-list/VBA/search-a-list.vba
Normal file
32
Task/Search-a-list/VBA/search-a-list.vba
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
Function IsInArray(stringToBeFound As Variant, arr As Variant, _
|
||||
Optional start As Integer = 1, Optional reverse As Boolean = False) As Long
|
||||
'Adapted from https://stackoverflow.com/questions/12414168/use-of-custom-data-types-in-vba
|
||||
Dim i As Long, lo As Long, hi As Long, stp As Long
|
||||
' default return value if value not found in array
|
||||
IsInArray = -1
|
||||
If reverse Then
|
||||
lo = UBound(arr): hi = start: stp = -1
|
||||
Else
|
||||
lo = start: hi = UBound(arr): stp = 1
|
||||
End If
|
||||
For i = lo To hi Step stp 'start in stead of LBound(arr)
|
||||
If StrComp(stringToBeFound, arr(i), vbTextCompare) = 0 Then
|
||||
IsInArray = i
|
||||
Exit For
|
||||
End If
|
||||
Next i
|
||||
End Function
|
||||
Public Sub search_a_list()
|
||||
Dim haystack() As Variant, needles() As Variant
|
||||
haystack = [{"Zig","Zag","Wally","Ronald","Bush","Krusty","Charlie","Bush","Bozo"}]
|
||||
needles = [{"Washington","Bush"}]
|
||||
For i = 1 To 2
|
||||
If IsInArray(needles(i), haystack) = -1 Then
|
||||
Debug.Print needles(i); " not found in haystack."
|
||||
Else
|
||||
Debug.Print needles(i); " is at position "; CStr(IsInArray(needles(i), haystack)); ".";
|
||||
Debug.Print " And last position is ";
|
||||
Debug.Print CStr(IsInArray(needles(i), haystack, 1, True)); "."
|
||||
End If
|
||||
Next i
|
||||
End Sub
|
||||
Loading…
Add table
Add a link
Reference in a new issue