1. C# / Говнокод #13136

    +134

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    class Slovo
        {
            public string Word;
            public int Count;
            public Slovo(string slovo, int kolichestvo)
            {
                Word = slovo;
                Count = kolichestvo;
            }
        }
    
        class Program
        {
            static void Main(string[] args)
            {
                string s = "Один два четыре восемь число один и два дают вместе восемь а один умножить на один будет один";
                List<string> word = new List<string>();
                List<int> count = new List<int>();
                string[] word_collection = s.ToLower().Split(' ');
                foreach (string str in word_collection) if (!word.Contains(str))
                    {
                        word.Add(str);
                        count.Add(1);
                    }
                    else count[word.IndexOf(str)]++;
                List<Slovo> spisok = new List<Slovo>();
                for (int i = 0; i < word.Count; i++) spisok.Add(new Slovo(word[i], count[i]));
                spisok.Sort((a, b) => b.Count - a.Count);
                foreach (Slovo slovo in spisok) Console.WriteLine(slovo.Word.PadRight(12) + slovo.Count.ToString());
                Console.ReadKey();
            }
        }

    Найти в строке самые частоповторяющиеся слова

    Запостил: sbs, 10 Июня 2013

    Комментарии (33) RSS

    • показать все, что скрытоYa govoryu po-russki very well!
      Ответить
    • показать все, что скрыто> Count = kolichestvo
      И ведь не скажешь, что чел не знал перевода.

      > foreach (Slovo slovo in spisok)
      Блять, вот для таких людей в c# сделали поддержку юникодных идентификаторов, а они все равно пишут yobanim translitom. Imho luchshe russkie identifikatori alya 1c, chem eta sran', nazivaemaya translitom.

      А в остальном унылая лаба, работающая за O(количество_разных_слов * количество_слов).
      Ответить
      • показать все, что скрыто> А в остальном унылая лаба, работающая за O(количество_разных_слов * количество_слов).

        Хэштейбл, мазерфакер! Ду ю спик ит?!

        > Console.WriteLine(slovo.Word.PadRight(12 ) + slovo.Count.ToString());

        Тоже феерично. Про форматированный вывод автор тоже не знал...
        Ответить
      • показать все, что скрыто>>Блять, вот для таких людей в c# сделали поддержку юникодных идентификаторов
        Для таких людей создали соглашения об именовании переменных и написании кода и не было там места ни кириллице ни транслиту.
        В остальном согласен.
        Ответить
      • показать все, что скрыто> Блять, вот для таких людей в c# сделали поддержку юникодных идентификаторов, а они все равно пишут yobanim translitom.
        Тышшто, это же раскладку переключать туда-сюда надо!
        Ответить
    • from collections import Counter
      c = Counter(string.split())
      for word, count in c.most_common():
          print "%s\t%s" % (word, count)
      Ответить
      • Чё это за язык?
        Ответить
        • Питон же.
          Ответить
          • Я только знаю, как пишется название этого языка
            Ответить
            • Поизучайте, лишним явно не будет :)
              Ответить
            • На самом деле это уже неплохо. Меня уже порядком утомили люди, которые "git" произносят как "джит", "python" как "пуфон", а "ruby" как "раби" на полном серьезе, без троллинга.
              Ответить
      • var words = s.ToLower().Split(' ');
        var enumerable = words.Distinct().Select(x => new { Count = words.Count(word => word == x), Word = x }).ToList();
        enumerable.Where(x => x.Count == enumerable.Max(y => y.Count)).ToList().ForEach(x => Console.WriteLine("Слово = {0}, частота = {1}", x.Word, x.Count));
        Ответить
        • using System.IO;
          using System;
          using System.Linq;
          class Program
          {
              static void Main()
              {
                  var s = "foo bar bar";
                  var mfw = s.ToLower().Split(' ').GroupBy(w=>w).OrderByDescending(g=>g.Count()).First();
                  Console.WriteLine(mfw.Key +"="+ mfw.Count());
              }
          }
          Ответить
    • - Ты уж сынок молодец, что поступил, ну уж родителям помоги, пока дома, потом уж редко будем видеться - каждые выходные не наездишься.
      Ответить

    Добавить комментарий