Jewels and stones: Difference between revisions

Add Cowgol
(Added XPL0 example.)
(Add Cowgol)
Line 589:
<pre>3
0</pre>
 
=={{header|Cowgol}}==
<lang cowgol>include "cowgol.coh";
 
sub count_jewels(stones: [uint8], jewels: [uint8]): (count: uint16) is
var jewel_mark: uint8[256];
MemZero(&jewel_mark as [uint8], 256);
 
while [jewels] != 0 loop
jewel_mark[[jewels]] := 1;
jewels := @next jewels;
end loop;
 
count := 0;
while [stones] != 0 loop
count := count + jewel_mark[[stones]] as uint16;
stones := @next stones;
end loop;
end sub;
 
sub print_and_count(stones: [uint8], jewels: [uint8]) is
print(jewels);
print(" in ");
print(stones);
print(": ");
print_i16(count_jewels(stones, jewels));
print_nl();
end sub;
 
print_and_count("aAAbbbb", "aA");
print_and_count("ZZ", "z");</lang>
 
{{out}}
 
<pre>aA in aAAbbbb: 3
z in ZZ: 0</pre>
 
=={{header|D}}==
2,114

edits