Find words with alternating vowels and consonants: Difference between revisions
Content deleted Content added
Added AWK |
Added Go |
||
Line 210: | Line 210: | ||
"verisimilitude" |
"verisimilitude" |
||
} |
} |
||
</pre> |
|||
=={{header|Go}}== |
|||
<lang go>package main |
|||
import ( |
|||
"bytes" |
|||
"fmt" |
|||
"io/ioutil" |
|||
"log" |
|||
"strings" |
|||
"unicode/utf8" |
|||
) |
|||
func isVowel(c rune) bool { return strings.ContainsRune("aeiou", c) } |
|||
func main() { |
|||
wordList := "unixdict.txt" |
|||
b, err := ioutil.ReadFile(wordList) |
|||
if err != nil { |
|||
log.Fatal("Error reading file") |
|||
} |
|||
bwords := bytes.Fields(b) |
|||
var words []string |
|||
for _, bword := range bwords { |
|||
s := string(bword) |
|||
if utf8.RuneCountInString(s) > 9 { |
|||
words = append(words, s) |
|||
} |
|||
} |
|||
count := 0 |
|||
fmt.Println("Words with alternate consonants and vowels in", wordList, "\b:\n") |
|||
for _, word := range words { |
|||
found := true |
|||
for i, c := range word { |
|||
if (i%2 == 0 && isVowel(c)) || (i%2 == 1 && !isVowel(c)) { |
|||
found = false |
|||
break |
|||
} |
|||
} |
|||
if !found { |
|||
found = true |
|||
for i, c := range word { |
|||
if (i%2 == 0 && !isVowel(c)) || (i%2 == 1 && isVowel(c)) { |
|||
found = false |
|||
break |
|||
} |
|||
} |
|||
} |
|||
if found { |
|||
count++ |
|||
fmt.Printf("%2d: %s\n", 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> |
||