- 1
- 2
http://habrahabr.ru/blogs/algorithm/103513/
Советую всем посмотреть, очень воодушевляет.
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+121
http://habrahabr.ru/blogs/algorithm/103513/
Советую всем посмотреть, очень воодушевляет.
А теперь по теме, вторая часть видео ( http://video.yandex.ru/users/ya-events/view/128/?cauthor=ya-events&cid=10 ) 44:44 .
Александр Александрович: "У указателей не нужно определять операцию сравнения [....] равенство есть, а неравенства нет.
[..] Вы не можете теперь создать множество. Точнее можете, но оно будет очень медленным."
Какое-то чудило: " ээ, ну если вести хэшировние, и операцию equals, как в Java сделано"..
Интересно, как он хеширование сделает, если две сущности можно сравнивать только на равенство?
Да, и ещё, сразу виден развращённый( хешированием ) неокрепший детский мозг - видимо никогда не слышал про двоичные деревья поиска, что уже говорить по красно-чёрные деревья.
P.S. Где тут куча? это же Pascal
−1
bool CheckRepeat(int cur, int i, char* word) {
return (word[cur] != '\0') ? ((word[i] != '\0') ? ((word[cur] == word[i] && cur != i) ? true : CheckRepeat(cur, i + 1, word)) : CheckRepeat(cur + 1, 0, word)) : false;
}
Функция проверки слова на повторение букв.
Задали в институте лабу, в требование входили рекурсия и экономия строк, подпрограммы такого плана понравились преподавателю.
+4
#include <stdio.h>
#define q t=*u,*u=*l,*l=t
int f(char*s,char*p){char*u,*l,t
;static long g=0; if(!s)return 0;if(!p)p
=s;if(g++==166217457)printf("%s\056\162\165\n"
,s);for(u=p;*u;u++) for(l=u+1;*l;l++)q,f
(s,u+1),q;return 0;}int main(){
char s[]= "\100aadeflnorrux"
;return f(s,0);}
http://alexfru.narod.ru/econtact.html
> My e-m@!1 address can be obtained with the following...
Вот бля как надо свой email скрывать! А то вот какие-то анскилушные myemail (гав-гав) mail.ru - это всё хуйня, боты наверняка расшифруют
+1
@Override
public String toString() {
return "IndexData{" +
"id='" + id + '\'' +
", regNum='" + regNum + '\'' +
", docType='" + docType + '\'' +
", customerOrg='" + customerOrg + '\'' +
", ownerOrg='" + ownerOrg + '\'' +
", responsibleOrg='" + responsibleOrg + '\'' +
", publishOrg='" + publishOrg + '\'' +
", path='" + path + '\'' +
", zipName='" + zipName + '\'' +
", xmlName='" + xmlName + '\'' +
", fileDate=" + fileDate +
", publishDate='" + publishDate + '\'' +
", info=" + info +
'}';
}
сериализация в json
+24
do
{
count++;
Xt=X;
if (ii==1)
{
X= dichotomia(a,b, E);
fprintf(bnf, "%lf;\n", Xt);
}
else
{
if (ii==2)
{
X=newton(X, E);
fprintf(bnf, "%lf;\n", Xt);
}
else
{
if (ii==3)
{
X=sekuschich(X, b);
fprintf(bnf, "%lf;\n", Xt);
}
else
{
if (ii==4)
{
ii==1;
ii==2;
ii==3;
}
}
}
}
printf("X=%lf\n", X);
if(Func(X)*Func(a)>0)a=X;
else b=X;
}
while(fabs(X-Xt)>=E);
В общем лаба на численые методы поиска корней.
После того как я предоставил няшный, полностью удовлетворяющий условиям, после проверки меня попросили "сделать как у парней", и вот участок их высера
p.s. форматирование сохранить не удалось, да и там совсем бы ничего понятно бы не было
0
// Там в стандарт сишки хотят добавить хуйни какой-то
// https://habr.com/ru/company/badoo/blog/503140/
// C2x: будущий стандарт C
// Итак, с опозданием лет на 20 к нам приходят функции strdup и strndup!
#include <string.h>
char *strdup (const char *s);
char *strndup (const char *s, size_t size);
Они есть в позикс стандарте, да и вообще эти функции - говно, как и нуль-терминированные строки сами по себе.
+128
static readonly Regex binary = new Regex("^[01]{1,32}$", RegexOptions.Compiled);
static void Main() {
Test("");
Test("01101");
Test("123");
Test("0110101101010110101010101010001010100011010100101010");
}
static void Test(string s) {
if (binary.IsMatch(s)) {
Console.WriteLine(Convert.ToInt32(s, 2));
} else {
Console.WriteLine("invalid: " + s);
}
}
http://stackoverflow.com/questions/1271562/binary-string-to-integer
Мучает вопрос. Зачем ставить регулярку? Почему бы просто не словить FormatExeption?
+103
/* Copyright 2009 10gen Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/* all the numbers that fit in a 4 byte string */
const char bson_numstrs[1000][4] = {
"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
"10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
/* 105 строк поскипано */
"980", "981", "982", "983", "984", "985", "986", "987", "988", "989",
"990", "991", "992", "993", "994", "995", "996", "997", "998", "999",
};
Взято отсюда - http://github.com/mongodb/mongo-c-driver/blob/master/src/numbers.c . А это коммит - http://github.com/mongodb/mongo-c-driver/commit/0198225180a51e0b0b8a84f25b34b3047d3b9c80
+10
public static string toFormat(string s, int u)
{
return " ".Substring(0, u * 4) + s +"\r\n";
}
Функция используется для форматирования файла класса, созданного автоматически.
+3
var actions = new List<Action>();
foreach (var i in Enumerable.Range(1, 3))
{
actions.Add(() => Console.WriteLine(i));
}
foreach (var action in actions)
{
action();
}
По мотивам https://govnokod.ru/11946
Просто форкнул и запустил старый пример LispGovno (мир ему)
Старый пример: https://ideone.com/RaiHr
Новый пример: https://ideone.com/M1ducs
Однако получил совершенно другой результат.