1. Список говнокодов пользователя Vero92

    Всего: 1

  2. C# / Говнокод #23277

    0

    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
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    public static int index(string word, char comp)
            {
                int k = -1;
                for (int i = 0; i < word.Length; i++)
                    if (word[i] == comp)
                    {
                        k = i;
                        break;
                    }
                return k;
            }
    
            public static char[] strtocharr(string str)
            {
                char[] tmp = new char[str.Length];
                for (int i = 0; i < tmp.Length; i++)
                    tmp[i] = str[i];
                return tmp;
            }
    
            public static string charrtostr(char[] charr)
            {
                string tmp = null;
                for (int i = 0; i < charr.Length; i++)
                    tmp = String.Format("{0}{1}", tmp, charr[i]);
                return tmp;
            }
    
            public static char maskfromword(string word)
            {
                return word[word.Length - 1];
            }
    
            public static string maskfromword(string word, int n)
            {
                string mask = null;
                for (int i = 0; i < n; i++)
                    mask = String.Format("{0}{1}", mask, word[word.Length - 1]);
                return mask;
            }
    
            public static char Counter(char crnt, string word)
            {
                if (crnt != maskfromword(word))
                    crnt = word[index(word, crnt) + 1];
                else
                    crnt = word[0];
                return crnt;
            }
    
            public static string Counter(string prev, string word, int k)
            {
                char[] tmp = strtocharr(prev);
                if (k >= prev.Length - 1)
                    k = prev.Length - 1;
                else
                    for (int i = k + 1; i < prev.Length; i++)
                        tmp[i] = word[0];
                if (tmp[k] == maskfromword(word))
                    return MultiCounter(prev, word, k - 1);
                else
                    tmp[k] = Counter(tmp[k], word);
                return charrtostr(tmp);
            }

    Список методов, позволяющие сделать счетчик по словарю (полезно для генераторов словарей) на любое количество символов.

    Vero92, 18 Августа 2017

    Комментарии (36)