1. Objective C / Говнокод #24124

    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
    + (NSString*)enumToString:(SomeEnum)someEnumValue
    {
    	NSDictionary *strings =
    	@{
    		@(SomeEnumUndefined) : @"Undefined",
    		@(SomeEnumValue1) : @"Value1",
    		@(SomeEnumValue2) : @"Value2",
    		// Ещё 100500 пар
    	};
    
    	return strings[@(someEnumValue)];
    }

    Имена изменены, но смысл понятен. Точнее, непонятен.

    Desktop, 14 Апреля 2018

    Комментарии (56)
  2. C++ / Говнокод #24123

    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
    #include "stdafx.h"
    #include<iostream>
    #include<vector>
    
    using namespace std;
    /*
    Задание: перемножить две матрицы и вывести результат на экран
    */
    
    vector<vector<int>> inputToVector(int n,int m) {
    	vector<vector<int>>vec(n, vector<int>(m));
    	for (int i = 0; i < n; i++) {
    		for (int j = 0; j < m; j++) {
    			cin >> vec[i][j];
    
    		}
    	}
    	return vec;
    }
    template<class T>
    void multiple(vector<T>a,vector<T>b,int x1,int y1,int y2) {
    	int ans = 0;
    	for (int i = 0; i < x1; i++) {
    		for (int j = 0; j < y2; j++) {
    			for (int k = 0; k < y1; k++) {
    				ans += a[i][k] * b[k][j];
    			}
    			cout << ans << '\t';
    			ans = 0;
    		}
    		
    		cout << endl;
    	}
    }
    int main()
    {
    	setlocale(LC_ALL, "Russian");
    	int x1, y1, x2, y2,temp;
    	cout << "Требуется вычислить произведение двух матриц А и В" << endl;
    	cout << "Введите размерность матрицы А" << endl;
    	cin >> x1 >> y1;
    	cout << "Введите элементы матрицы А" << endl;
    	vector<vector<int>>one = inputToVector(x1, y1);
    	cout << "Введите размерность матрицы B" << endl;
    	cin >> x2 >> y2;
    	cout << "Введите элементы матрицы B" << endl;
    	vector<vector<int>>two = inputToVector(x2, y2);
    	cout << "Результирующая матрица, полученная перемножением матрицы А на матрицу В" << endl;
    	multiple(one, two,  x1,  y1, y2);
    	system("pause");
    	return 0;
    }

    ArthurMakaev, 13 Апреля 2018

    Комментарии (11)
  3. JavaScript / Говнокод #24120

    0

    1. 1
    2. 2
    var a=new Array();
    a['line']=document.getElementById('water_disconnection_search').value;

    array-oriented programming
    https://www.teplosetspb.ru/water_disconnection

    Fike, 12 Апреля 2018

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

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $i = -1;
            foreach ( $jsonLogger->pvfMedia as $item) {
                $i++;
                if ($jsonLogger->pvfMedia[$i]->pvfConent){
                    $jsonLogger->pvfMedia[$i]->pvfConent = 'BAKED_CONTENT';
                }
            }

    foreach ( $jsonLogger->pvfMedia as $key=>$item) {.... - это не наш метод :)

    miklblitz, 12 Апреля 2018

    Комментарии (0)
  5. C++ / Говнокод #24112

    +2

    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
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    #include "stdafx.h"
    #include <fstream>
    #include <iostream>
    using namespace std;
    int isMax(char mask[], int num, char in[]);        //Функция проверки символа
    int main(int argc, char* argv[])
    {
        if (argc == 1) {
            cout << "Use PasswordGenerator [Mask] [quantity of passwwords] [Path to file]\n";        //Проверка входных параметров
            return 1;
        }
        ofstream out;            //Выходной файл
        out.open(argv[3]);        //Открываем файл с именем которое ввел пользователь
        int len = 0;                    //Длина пароля
        char mask[1024] = "hll";       //Маска пароля
        char buff[1024] = { 0 };        //Буфер под пароль
        double quant = 0;                //Количество паролей в выходном файле
        strcpy_s(mask, argv[1]);        //копируем маску введённую пользователем
        len = strlen(mask);                //Узнаем длину
        for (int ii = 0; ii < len; ii++) {
            if ((mask[ii]= 'l') && (mask[ii]= 'h')&& (mask[ii]= 'n')) {           //Проверка маски на корректность
                cout << "Mask can be l h n\n";                                        //Маска может содержать только: l маленькие латинские буквы; h большие латинские буквы; n цифры
                    return 2;
            }
        }
        quant = atoi(argv[2]);                      //Запоминаем количество комбинаций
        if (quant == 0) {                           //Если пользователь ввел "0"
            quant = 1;                                //То считаем все возможные комбинации
            for (int ii = 0; ii < len; ii++) {         
                switch (mask[ii])
                {
                case 'l': quant *= 26; break;       //26 - количество возможных букв
                case 'h': quant *= 26; break;
                case 'n': quant *= 10; break;       //10 - количество возможных цифр
                default:
                    break;
                }
            }
        }
        int ii = 0;        //Нужная переменная
        for (ii = 0; ii < len; ii++) {               //Тут создается стартовая комбинация
    
            switch (mask[ii])                        //Например для nnllh будет 00aaA
            {
            case 'l': buff[ii] = 'a'; break;
            case 'h': buff[ii] = 'A'; break;
            case 'n': buff[ii] = '0'; break;
                default:
                    break;
            }
        }
        ii++;
        buff[ii] = '\0';                            //Добавляем маркер конца строки
        double flagc = quant / 10;                  //Константа для поиска процента завершения
        double flag = flagc;                        //Переменная процента завершения
        int per = 1;                                //Множитель процента
        for ( ii = 0; ii < quant; ii++) {                                   //Основной цикл
            out << buff << endl;                                            //Сохраняем пароль в файл
            if (ii >= flag) {                        //Если программа завершила 10%
                cout << per * 10 << "%\n";           //Выводим проценты
                per++;
                flag += flagc;
            }
            for (int ii = len - 1; ii >= 0; ii--) {                        //начинаем посимвольный перебор с конца строки
                if (isMax(mask, i, buff) == 1) {                           //Если встречаем последний возможный символ в данной позиции, то меняем его на стартовый
                    switch (mask[ii])
                   {
                    case 'l': if (buff[ii] == 'z')buff[ii] = 'a'; break;
                    case 'h': if (buff[ii] == 'Z')buff[ii] = 'A'; break;
                    case 'n': if (buff[ii] == '9')buff[ii] = '0'; break;
                  default:
                        break;
                    }
                    continue;    //Переход в следующую итерацию цикла
                }
                buff[ii] +=1;     //Сама инкрементация пароля
                break;            //Конец внутреннего цикла
            }
    }
        return 0;
    }
    int isMax(char mask[], int num, char in[]){
        switch (mask[num])
        {
    case 'l': if (in[num] == 'z')return 1; else return 0;            //Если символ последний, то возвращаем "1", в противном случае "0"
        case 'h': if (in[num] == 'Z')return 1; else return 0;
        case 'n': if (in[num] == '9')return 1; else return 0;
        default:
            break;
        }
    }

    Простой генератор паролей на C++
    https://codeby.net/forum/threads/prostoj-generator-parolej-na-c.61639/

    lolka, 11 Апреля 2018

    Комментарии (6)
  6. Си / Говнокод #24110

    +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
    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
    #include <stdio.h>
    #include <string.h>
    #include <sodium.h>
    #include <stdlib.h>
    #include <unistd.h>
    
    void reverse(char s[]);
    void itoa(int n, char s[]);
    
    int main()
    {
    	if(sodium_init() < 0) {
    		printf("Паника! Библиотека не может быть инициализирована, небезопасно использовать.\n");
    		return 1;
    	}
    
    	#define STR_LEN 30
    	char str[STR_LEN];
    	
    	for(unsigned long i = 0; i < STR_LEN; ++i) {
    		if(randombytes_uniform(2) == 0)
    			str[i] = 48;
    		else
    			str[i] = 49;
    	}
    	
    	printf("%s\n", str);
    	while(1) {
    		for (unsigned long i = 0; i < strlen(str); i+=2)
    		{
    			if(str[i] == '0' && str[i+1] == '0' && str[i+2] == '0')
    				str[i+1] = '1';
    			else if(str[i] == '1' && str[i+1] == '0' && str[i+2] == '0')
    				str[i] = '0', str[i+2] = '1';
    			else if(str[i] == '1' && str[i+1] == '0' && str[i+2] == '0')
    				str[i+2] = '1', str[i] = '0';
    			else if(str[i] == '1' && str[i+1] == '1' && str[i+2] == '1')
    				str[i+1] = '0', str[i] = '0';
    			else if(str[i] == '0' && str[i+1] == '1' && str[i+2] == '1')
    				str[i] = '1';
    			else if(str[i] == '1' && str[i+1] == '0' && str[i+2] == '1')
    				str[i] = '0', str[i+1] = '1';
    			else if(str[i] == '0' && str[i+1] == '0' && str[i+2] == '1')
    				str[i] = '1', str[i+1] = '1', str[i+2] = '0';
    			else if(str[i] == '0' && str[i+1] == '1' && str[i+2] == '0')
    				str[i+2] = '1';
    			else if(str[i] == '1' && str[i+1] == '1' && str[i+2] == '1')
    				str[i] = '0', str[i+2] = '0';
    			else if(str[i] == '1' && str[i+1] == '1' && str[i+2] == '0')
    				str[i+1] = '0';
    
    		}
    		printf("%s\n", str);
    		sleep(1);
    	}
    
    	return 0;
    }

    10 простых правил и бесконечный вывод триллиардов иттерация которые никогда не кнчатся! ЭТО НОНСЕНС

    fuckercoder, 11 Апреля 2018

    Комментарии (13)
  7. PHP / Говнокод #24108

    −1

    1. 1
    echo "Свет истины!";

    Дабы пролить свет истины на ваши слепы очи, я скажу что по факту ПХП самый уебанский язык на свете и больше всего подвергался разного рода хакам, из-за его уёбищности были потеряны миллиарды долларов компаний и посажено миллионы хакеров! Ruby пизже и такого не было, nodejs пиздат и такого не предвидется, python тоже крут и сложно взломать

    fuckercoder, 11 Апреля 2018

    Комментарии (8)
  8. JavaScript / Говнокод #24107

    −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
    38. 38
    39. 39
    40. 40
    var data = { //Списочек с русскими названиями
            "Рыбы": {
              "Форель": {},
              "Щука": {}
            },
    
            "Деревья": {
              "Хвойные": {
                "Лиственница": {},
                "Ель": {}
              },
              "Цветковые": {
                "Берёза": {},
                "Тополь": {}
              }
            }
          };
    
          function createTree(container, data) { // Создание списка из объекта
            let mainUL = document.createElement('ul'); //Начало списка
    
            let findLI = function(item, UL) { //рекурсивная функция
              for(let k in item) { //перебор
                let LI = document.createElement('li'); //Новый элемент списка
                LI.textContent = k; //Устанавливаем текст элементу
                UL.appendChild(LI); //Добавляем элемент в список
                if(Object.keys(item[k]).length > 0) { //Есть ли там ещё элементы?
                  let newUl = document.createElement('ul'); //Новый список
                  UL.appendChild(newUl); //Фигачим его в список
                  findLI(item[k], newUl); //Тут мы посылаем ссылку поэтому всё робит
                }
              }
            }
            findLI(data, mainUL); //ищем все элементы
    
            container.appendChild(mainUL); //добавляем в контейнер список (в конец)
          }
    
          var container = document.getElementById('container'); //ищем контейнер
          createTree(container, data); // создаём спсиок

    Комментатор 80-го уровня.
    Жду ваших комментариев ублюдки!

    fuckercoder, 11 Апреля 2018

    Комментарии (7)
  9. Python / Говнокод #24102

    −2

    1. 1
    2. 2
    3. 3
    editText_url = tk.Entry(root)
    editText_url.bind(SEQ_FOCUS_IN, lambda e: editText_url.delete('0', 'end') if editText_url.get() == url_placeholder else "")
    editText_url.bind(SEQ_FOCUS_OUT, lambda e: editText_url.insert(0, url_placeholder) if len(editText_url.get()) == 0 else "")

    В tkinter нет EditText с плейсхолдером, выкручиваемся как можем!
    А еще в лямбде нельзя использовать if, зато можно тернарный оператор. `else` здесь беесполезен~

    saber-nyan, 10 Апреля 2018

    Комментарии (16)
  10. C++ / Говнокод #24098

    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
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    #include "stdafx.h"
    #include<iostream>
    #include<map>
    #include<set>
    #include<string>
    #include<fstream>
    #include<iomanip>
    #include<algorithm>
    //#include<algorithm>
    using namespace std;
    int main()
    {
    	
    	setlocale(LC_ALL, "Russian");
    	multimap<string, int> mp;
    	multimap<string, int>::iterator it;
    	multimap<string, int>::iterator mit;
    	pair<multimap<string,int>::iterator, multimap<string, int>::iterator> pt;
    	set<int>nset;
    
    	string word;
    	char c = ' ';
    	
    
    	char s[256];
    	fstream inOut;
    	inOut.open("text.txt", ios::in);
    	for (int i = 1; i < 500; i++) {
    		inOut.getline(s, 256);
    	
    		char* pch;
    		pch = strtok(s, " ,-:");
    		while (pch != NULL) {
    			word = string(pch);
    			transform(word.begin(), word.end(), word.begin(), ::tolower);
    			mp.insert(pair <string, int>(word, i));
    			//cout « pch «'\t'«i« endl;
    			pch = strtok(NULL, " ,-:");
    		}
    	}
    	inOut.close();
    
    
    
    
    
    	set<string>set;
    
    	string tmp;
    
    	for (mit = mp.begin(); mit != mp.end(); mit++) {
    		tmp = (*mit).first;
    		if (set.find(tmp) != set.end()) {
    			continue;
    		}
    		else {
    
    			set.insert(tmp);
    			cout<<setw(15) << tmp << '\t';
    			pt = mp.equal_range(tmp);
    			
    			for (it = pt.first; it != pt.second; ++it) {
    				nset.insert(it->second);
    				
    			}
    			//cout << nset.size() << "     ";
    			for (it = pt.first; it != pt.second; ++it) {
    				
    				cout << it->second << ' ';
    			}
    			nset.clear();
    			cout << endl;
    		}
    	}
    	system("pause");
    	return 0;
    }

    Программа считывает слова сортирует и выдаёт все номера строк где данное слово встречается

    ArthurMakaev, 10 Апреля 2018

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