Unique characters: Difference between revisions

Content added Content deleted
(insert →‎Pascal)
(Added solution for Action!)
Line 130: Line 130:
{{out}}
{{out}}
<pre>156bgstz</pre>
<pre>156bgstz</pre>

=={{header|Action!}}==
<lang Action!>DEFINE MAX="128"
CHAR ARRAY counts(MAX)

BYTE FUNC GetCount(CHAR ARRAY s CHAR c)
BYTE count,i

count=0
FOR i=1 TO s(0)
DO
IF s(i)=c THEN
count==+1
FI
OD
RETURN (count)

PROC UpdateCounts(CHAR ARRAY s)
BYTE i,c

FOR i=1 TO s(0)
DO
c=s(i)
counts(c)==+GetCount(s,c)
OD
RETURN

PROC Main()
DEFINE PTR="CARD"
DEFINE CNT="3"
PTR ARRAY l(CNT)
INT i

l(0)="133252abcdeeffd"
l(1)="a6789798st"
l(2)="yxcdfgxcyz"

SetBlock(counts,MAX,0)
FOR i=0 TO CNT-1
DO
UpdateCounts(l(i))
OD
FOR i=0 TO MAX-1
DO
IF counts(i)=1 THEN
Put(i) Put(32)
FI
OD
RETURN</lang>
{{out}}
[https://gitlab.com/amarok8bit/action-rosetta-code/-/raw/master/images/Unique_characters.png Screenshot from Atari 8-bit computer]
<pre>
1 5 6 b g s t z
</pre>


=={{header|Ada}}==
=={{header|Ada}}==