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

    Всего: 3

  2. Куча / Говнокод #25241

    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
    import java.io.File
    import java.io.FileReader
    
    fun main(args: Array<String>) {
        val text = getText("Input line")
        val fileName = getText("Input file name")
    
        val mode = getInt("Input mode: 1 for rewrite, 2 for append", 1, 2)
    
        doAction(mode, text, fileName)
    }
    
    fun doAction(mode: Int, text : String, fileName : String) {
        val file = File(fileName)
       when(mode) {
           1 -> file.writeText(text)
           2 -> file.appendText(text)
       }
    }
    
    fun getInt(message: String, min : Int, max: Int) : Int {
    
        var buffer : Int?
    
        do {
            print(message)
            buffer = readLine()?.toIntOrNull()
        }
        while (buffer == null || buffer !in min..max)
    
        return buffer
    }
    
    fun getText(message : String) : String {
        print(message)
        return readLine() ?: ""
    }

    Решил добавить немного говнокода на Kotlin

    Tryff, 29 Декабря 2018

    Комментарии (4)
  3. C# / Говнокод #22050

    −41

    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
    public static double[] Interpolate(this double[] input, int outputCount)
            {
                int inputCount = input.Length;
                double[] output = new double[outputCount];
    
                if (output.Length > inputCount)
                {
                    double multipiler = (double)(outputCount - 1) / ((inputCount - 1) * outputCount / inputCount);
    
                    for (int i = 0; i < inputCount; ++i)
                    {
                        int position = (int)(multipiler * (i * outputCount / inputCount));
                        output[position] = input[i];
    
                        if (position > 0)
                        {
                            int previousPosition = (int)(multipiler * ((i - 1) * outputCount / inputCount));
    
                            for (int j = previousPosition + 1; j < position; ++j)
                            {
                                output[j] = output[previousPosition] + (output[position] - output[previousPosition]) /
                                    (position - previousPosition) * (j - previousPosition);
                            }
                        }
                    }
                }
                else
                {
                    double multipiler = (double)(inputCount - 1) / ((outputCount - 1) * inputCount / outputCount);
    
                    for (int i = 0; i < outputCount; ++i)
                    {
                        int position = (int)(multipiler * (i * inputCount / outputCount));
                        output[i] = input[position];
                    }
                }
    
                return output;
            }

    Запилил типа интерполяцию. Не знаю, почему она работает, но работает офигенно.
    Требовалось сделать метод, получающий массив размера n и возвращающий массив размера m, измененный, как показано в примерах:

    input: { 0; 1; 2; 4 }, outputCount == 7
    output: { 0; 0.5; 1; 1.5; 2; 3; 4 }

    input: { 1, 2, 4, 8, 10, 5, -1.5 }, outputCount == 3
    output: { 1; 8; -1.5}

    Tryff, 26 Января 2017

    Комментарии (9)
  4. C# / Говнокод #19447

    −1

    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
    static int Determinant(int[,] matrix)
    	{
    			int length = matrix.GetLength(0);
    			int result = 0;
    
    			if (matrix.Length > 1)
    				for (int i = 0; i < length; ++i)
    					result += (2 * (i & 1) - 1) 
    						* matrix[i, 0]
    						* Determinant(CutMatrix(matrix, i, 0));
    			else
    				result = matrix[0, 0];
    
    			return result;
    	}
    
    		static int[,] CutMatrix(int[,] matrix, int cutRowIndex, int cutColumnIndex)
    	{
    			int length = matrix.GetLength(0);
    			int[,] result = new int[length - 1, length - 1];
    
    			for (int y = 0, ry = 0; y < length; ++y, ++ry)
    			{
    				if (y != cutRowIndex)
    					for (int x = 0, rx = 0; x < length; ++x, ++rx)
    					{
    						if (x != cutColumnIndex)
    							result[ry, rx] = matrix[y, x];
    						else
    							--rx;
    					}
    				else
    					--ry;
    		}
    
    			return result;
    	}

    Tryff, 12 Февраля 2016

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