- 1
- 2
- 3
- 4
- 5
- 6
Функция ОпределитьПроцентМотивации(_Заказ)
Если 1=2 Тогда
_Заказ = Документы.ЗаказПокупателя.СоздатьДокумент();
КонецЕсли;
...
КонецФункции
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−47
Функция ОпределитьПроцентМотивации(_Заказ)
Если 1=2 Тогда
_Заказ = Документы.ЗаказПокупателя.СоздатьДокумент();
КонецЕсли;
...
КонецФункции
Я вот даже не знаю, отнести к какой категории говнокода это отнести.
То ли 1С не достаточно хорошо проработала автозаполнение, то ли автор гений.
+58
#include <fstream>
#include <string.h>
#include <stdlib.h>
#include <iostream>
typedef unsigned int uint;
std::string sMsg;
int GetShift()
{
int iResult = 0;
for(uint i = 0; i < sMsg.size(); i++)
{
if(!isalpha(sMsg[i])) continue;
if(isupper(sMsg[i]))
{
iResult = int(sMsg[i]) - int('A');
break;
}
else if(islower(sMsg[i]))
{
iResult = int(sMsg[i]) - int('a');
break;
}
}
return iResult;
}
int Pos(const char* _Str, char _Ch)
{
int i = 0;
while(*_Str)
{
if(*_Str == _Ch)
{
return i;
}
_Str++;
i++;
}
return -1;
}
int main()
{
std::ifstream fin("input.txt");
std::ofstream fout("output.txt");
std::getline(fin, sMsg);
int iShift = GetShift();
if(iShift == 0)
{
fout << sMsg;
}
else
{
char* szOriginal = (char*)malloc(100);
strcpy(szOriginal, "ABCDEFGHIJKLMNOPQRSTUVWXYZ");
char* szShift = (char*)malloc(100);
strcpy(szShift, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ");
szShift += iShift;
char* szOriginalL = (char*)malloc(100);
strcpy(szOriginalL, "abcdefghijklmnopqrstuvwxyz");
char* szShiftL = (char*)malloc(100);
strcpy(szShiftL, "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz");
szShiftL += iShift;
for(int i = 0; i < sMsg.size(); i++)
{
if(!isalpha(sMsg[i]))
fout << sMsg[i];
else
{
if(isupper(sMsg[i]))
{
int iPos = Pos(szShift, sMsg[i]);
fout << *(szOriginal + iPos);
}
else if(islower(sMsg[i]))
{
int iPos = Pos(szShiftL, sMsg[i]);
fout << *(szOriginalL + iPos);
}
}
}
free(szOriginal);
free(szShift);
free(szOriginalL);
free(szShiftL);
}
fin.close();
fout.close();
return 0;
}
В рамках подготовки к прошедшей областной олимпиаде по информатике среди школьников Минской области решал задачи. Данный говнокод решение задачи про шифр цезаря (данная задача была на областной олимпиаде в 2013 - 2014 учебном году).
Задача: расшифровать строку, которая зашифрована шифром Цезаря, так, чтобы полученная расшифровка была минимальна лексикографически.
Зашифрованная строка находится в файле input.txt, результат надо было вывести output.txt
+76
package ololo.cdn.util;
/**
*
*/
public interface AnswerCodes
{
public static final int CODE_OK = 0;
public static final int CODE_NO_AUTH = 1;
public static final int CODE_NO_ACTION_DONE = 2;
public static final int CODE_ERROR_PARAMETERS = 4;
public static final int CODE_NO_RIGHTS = 8;
public static final int CODE_NOT_UNIQ_PARENT = 16;
public static final int CODE_NOT_EXIST_COLUMNS = 32;
public static final String ANSWER_NO_AUTH = "{\"result\":\"error\",\"code\":\"" + CODE_NO_AUTH + "\"}";
public static final String ANSWER_NO_RIGHTS = "{\"result\":\"error\",\"code\":\"" + CODE_NO_RIGHTS + "\"}";
public static final String ANSWER_NOT_UNIQ_PARENT = "{\"result\":\"error\",\"code\":\"" + CODE_NOT_UNIQ_PARENT + "\"}";
public static final String ANSWER_NOT_EXIST_COLUMNS = "{\"result\":\"error\",\"code\":\"" + CODE_NOT_EXIST_COLUMNS + "\"}";
public static final String ANSWER_OK = "{\"result\":\"ok\",\"code\":\"" + CODE_OK + "\"}";
public static final String ANSWER_NOTHING_DONE = "{\"result\":\"ok\",\"code\":\"" + CODE_NO_ACTION_DONE + "\"}";
}
+118
... *sizeof(uint32_t)
Правильно. А то вдруг кто его переопределит.
+131
ГовноКод.ру - это отличный русскоязычный ресурс, аналогов которому по количеству пользователей и новым говнокодам нет.
На нем сидит множество толковых парней, таких например как Борманд, laMer007, inkanus-gray и тд, и мне лично их комментарии всегда интрестно почитать.
Но всё желание пользоваться сайтом отбивает модерация, которой попросту нет.
Один или несколько пользователей, типа Стертор или как его там, просто убивает ресурс, портит ветки комментов, пишет сам себе и отвечает сам себе, спамит.
Это нужно как-то решать или ресурс умрёт, потому что просто игнорировать молодняк уже не получится.
Может ввести на сайте пару баннеров рекламы и нанять модератора?
Может закрыть доступ писать без учетки? Временно можно даже добавлять комменты только после модерации.
Я не веб программист, и не знаю всех нюансов, но ведь должы быть способы избавиться от этого спама?
Побуду немного экстрасенсом, сейчас появится коммент "Въебал минус"
Извините, наболело, не могу больше в себе это держать
+142
static char months [] = "JanFebMarAprMayJunJulAugSepOctNovDecGlk";
static char dows [] = "SunMonTueWedThuFriSatEar";
int dd [] =
{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
void gen_http_date (char date_buffer[29], int time) {
int day, mon, year, hour, min, sec, xd, i, dow;
if (time < 0) time = 0;
sec = time % 60;
time /= 60;
min = time % 60;
time /= 60;
hour = time % 24;
time /= 24;
dow = (time + 4) % 7;
xd = time % (365 * 3 + 366);
time /= (365 * 3 + 366);
year = time * 4 + 1970;
if (xd >= 365) {
year++;
xd -= 365;
if (xd >= 365) {
year++;
xd -= 365;
if (xd >= 366) {
year++;
xd -= 366;
}
}
}
if (year & 3) {
dd[1] = 28;
} else {
dd[1] = 29;
}
for (i = 0; i < 12; i++) {
if (xd < dd[i]) {
break;
}
xd -= dd[i];
}
day = xd + 1;
mon = i;
assert (day >= 1 && day <= 31 && mon >=0 && mon <= 11 &&
year >= 1970 && year <= 2039);
sprintf (date_buffer, "%.3s, %.2d %.3s %d %.2d:%.2d:%.2d GM",
dows + dow * 3, day, months + mon * 3, year,
hour, min, sec);
date_buffer[28] = 'T';
}
Делать имена месяцев и дни недели одной сишной строкой, чтобы потом выводить оттуда по три символа через sprintf, считая оффсет умножением на 3 т.к. имена месяцев и дней недели влазят в три символа
https://github.com/vk-com/kphp-kdb/blob/ce1ac4fbde2d3b546936ad07d6a748958f6d2198/net/net-http-server.c#L664
http://roem.ru/2013/07/20/kphp76561/
>ВКонтактовские "олимпиадники"-чемпионы ACM разработали крайне интересную высоконагруженным сайтам технологию.
Хреновые какие-то олимпиадники попались, раз неосилили http://ideone.com/IfvBgi
+84
function Okruglenije(cislo: Currency; skolkonulei: Integer): string;
var
outs: string;
rst, cel, zn: string;
p: integer;
begin
outs := FloatToStr(cislo);
p := Pos(',', outs) + 1;
zn := Copy(outs, p, skolkonulei);
cel := FloatToStr(trunc(cislo));
if p > 1 then
rst := Trim(cel + ',' + zn)
else
rst := Trim(cel);
Okruglenije := rst;
end;
Процедура округления
+81
#include <iostream>
#include <cstdlib>
using namespace std;
int bin_search(int *A, int key, int low, int high){
if (low > high){
return 0;
}
int mid = ( low + high ) / 2;
if (A[mid] == key)
return mid+1;
else if( A[mid] < key)
bin_search(A, key, mid + 1, high);
else if (A[mid] > key)
bin_search(A, key, low, mid - 1);
}
int main()
{
int n, k;
cin >> k >> n;
int A[n-1];
for (int i = 0; i < n; i++)
{
cin >> A[i];
}
cout << bin_search(A, k, 0, n);
}
Нужно реализовать бинпоиск рекурсией, на вход значение искомого элемента,
число элементов и сам массив,
вывести номер минимального элемента равного искомому.
У меня откровенно говоря баг, не могу его откопать, помогите!!!
+161
$useDummy = true;
do {
if (!file_exists($filename)){ break; }
require_once $filename;
if (!class_exists($className)){ break; }
$useDummy = false;
} while(false);
Новый оператор ветвления do ... while
+28
std::string toString(std::function<std::string(T)> f = std::function<std::string(T)>()) {
std::stringstream ss;
if(f)
ss << f(some_value);
else
ss << some_value;
return ss.str();
}