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);
|
|||
|
}
|
|||
|
}
|