Find words with alternating vowels and consonants: Difference between revisions

Content deleted Content added
Added Algol 68
PureFox (talk | contribs)
Added Wren
Line 368: Line 368:
done...
done...


</pre>

=={{header|Wren}}==
{{libheader|Wren-fmt}}
<lang ecmascript>import "io" for File
import "/fmt" for Fmt

var isVowel = Fn.new { |c| "aeiou".contains(c) }

var wordList = "unixdict.txt" // local copy
var words = File.read(wordList).trimEnd().split("\n").where { |w| w.count > 9 }
var count = 0
System.print("Words with alternate consonants and vowels in %(wordList):\n")
for (word in words) {
var found = true
for (i in 0...word.count) {
var c = word[i]
if ((i%2 == 0 && isVowel.call(c)) || (i%2 == 1 && !isVowel.call(c))) {
found = false
break
}
}
if (!found) {
found = true
for (i in 0...word.count) {
var c = word[i]
if ((i%2 == 0 && !isVowel.call(c)) || (i%2 == 1 && isVowel.call(c))) {
found = false
break
}
}
}
if (found) {
count = count + 1
Fmt.print("$2d: $s", count, word)
}
}</lang>

{{out}}
<pre style="height:36em">
Words with alternate consonants and vowels in unixdict.txt:

1: aboriginal
2: apologetic
3: bimolecular
4: borosilicate
5: calorimeter
6: capacitate
7: capacitive
8: capitoline
9: capitulate
10: caricature
11: colatitude
12: coloratura
13: colorimeter
14: debilitate
15: decelerate
16: decolonize
17: definitive
18: degenerate
19: deliberate
20: demodulate
21: denominate
22: denotative
23: deregulate
24: desiderata
25: desideratum
26: dilapidate
27: diminutive
28: epigenetic
29: facilitate
30: hemosiderin
31: heretofore
32: hexadecimal
33: homogenate
34: inoperative
35: judicature
36: latitudinal
37: legitimate
38: lepidolite
39: literature
40: locomotive
41: manipulate
42: metabolite
43: nicotinamide
44: oratorical
45: paragonite
46: pejorative
47: peridotite
48: peripatetic
49: polarimeter
50: recitative
51: recuperate
52: rehabilitate
53: rejuvenate
54: remunerate
55: repetitive
56: reticulate
57: savonarola
58: similitude
59: solicitude
60: tananarive
61: telekinesis
62: teratogenic
63: topologize
64: unilateral
65: unimodular
66: uninominal
67: verisimilitude
</pre>
</pre>