29 lines
721 B
D
29 lines
721 B
D
import std.algorithm, std.stdio, std.string;
|
||
|
||
void main()
|
||
{
|
||
// Рассчитать таблицу частот
|
||
uint[string] freqs;
|
||
foreach (line; stdin.byLine())
|
||
{
|
||
foreach (word; line.strip.splitter)
|
||
{
|
||
++freqs[word.idup];
|
||
}
|
||
}
|
||
|
||
// Напечатать таблицу частот
|
||
foreach (key, value; freqs)
|
||
{
|
||
writefln("%6u\t%s", value, key);
|
||
}
|
||
|
||
// Напечатать таблицу частот с сортировкой
|
||
string[] words = freqs.keys;
|
||
sort!((a, b) { return freqs[a] > freqs[b]; })(words);
|
||
foreach (word; words)
|
||
{
|
||
writefln("%6u\t%s", freqs[word], word);
|
||
}
|
||
}
|