
Arseny
02.03.2016
12:12:46
На чём кстати у него написано всё? Иногда по заголовкам можно понять.

Маришка
02.03.2016
12:13:07
Славик, там обратный слеш
:D

Славик
02.03.2016
12:13:35
int toNumber(char * str, int start, int end) {
int result = 0;
for (int i = start, rate = 1; i <= end; i++, rate *= 10) {
result += rate * (str[i] - '0');
}
return result;
}
int getDay(char * birth_date) {
int year, month, day;
year = toNumber(birth_date, 6, 9);
if (bith_date[2] == '/') {
month = toNumber(birth_date, 0, 1);
day = toNumber(birth_date, 3, 4);
} else {
month = toNumber(birth_date, 3, 4);
day = toNumber(birth_date, 0, 1);
}
return year * 10000 + month * 100 + day;
}

Google

Славик
02.03.2016
12:13:51
получаешь массив чисел дней и сортируешь по нему

Маришка
02.03.2016
12:13:59
.=.

Славик
02.03.2016
12:15:18
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (YOUR_STRUCTS[i].day < YOUR_STRUCTS[j].day) {
//swap
}
}
}

Arseny
02.03.2016
12:16:42
с * 10000 и * 100 проиграл в шёпот

Славик
02.03.2016
12:17:25
работники больших контор не оценят, но на олимпиадах самое то

Маришка
02.03.2016
12:17:34
:D

Arseny
02.03.2016
12:18:15
умножал бы тогда на степени двойки уже

Славик
02.03.2016
12:18:26
нет

Oleg
02.03.2016
12:18:33
Сдвиги

Славик
02.03.2016
12:18:36
нет

Oleg
02.03.2016
12:18:38
байтоёбство!
Оо

Славик
02.03.2016
12:18:49
важно, чтобы число именно в десятичной получилось YYYYMMDD

Google

Oleg
02.03.2016
12:18:54
Оо

Славик
02.03.2016
12:18:54
тогда оно сортируемо

Oleg
02.03.2016
12:18:57
нафейхоа
Эм
а так оно типа несортируемое будет?

Arseny
02.03.2016
12:19:08
оно в любом случае
будет сортируемо
если одна часть на другую залезать не будет

[Anonymous]
02.03.2016
12:19:22
http://www.jsfuck.com
Нашёл интересный сервис.
Не знаю, баян ли.
Вот делюсь с вами.

Славик
02.03.2016
12:19:35
хм
давайте пробовать
29 2 2016

[Anonymous]
02.03.2016
12:20:17
И если я правильно понял - то это по-своему хорошая шифровалка.
http://stackoverflow.com/questions/31862135/how-to-decode-a-jsfuck-script

Маришка
02.03.2016
12:20:49

[Anonymous]
02.03.2016
12:21:03

Google

Маришка
02.03.2016
12:21:17
напомнило этот язык

[Anonymous]
02.03.2016
12:21:24
Это и есть на основе его.
Просто я ещё не видел обфускаторов JS, которые не переворачиваются обратно.
Или я отстал от времени?

Arseny
02.03.2016
12:22:07
я думаю что и этот переворачивается

[Anonymous]
02.03.2016
12:22:16
А вот как? Я пока не нашёл.
В том-то и дело.

Славик
02.03.2016
12:22:25
думаю, что не переворачивающийся сложно придумать

[Anonymous]
02.03.2016
12:22:25
http://jsfuck-decoder.googlecode.com/svn/trunk/
Есть вот это.
Только я не проверял.

Славик
02.03.2016
12:22:32
точнее при текущем стандарте невозможно

[Anonymous]
02.03.2016
12:22:41
Многие платные скрипты и/или шаблоны заворачивают во всякие обфускаторы.
Но обычно они легко поддаются обработке и получить что-то бесплатно с ThemeForest - хуйня вопрсо.
А вот это меня заинтересовало, потому что лёгких путей я пока не нашёл.

Arseny
02.03.2016
12:24:31
ну скинь код
я тебе отправлю что ты написал

Маришка
02.03.2016
12:25:35
.-.

[Anonymous]
02.03.2016
12:25:49
http://pastebin.com/bxHQ0UxV

Google

Oleg
02.03.2016
12:25:50
мне тоже pastebin никогда не нравился

[Anonymous]
02.03.2016
12:25:51
Держи пасту.

Admin
ERROR: S client not available

Oleg
02.03.2016
12:25:53
чёрт
не успел
=D

[Anonymous]
02.03.2016
12:26:07

Arseny
02.03.2016
12:26:38
http://pastebin.com/x0WGarfM

Il'ya
02.03.2016
12:26:49
Забанил тебя за это.

[Anonymous]
02.03.2016
12:26:51
И что это?
Т.е. ты код мой не перевернул, это всё такая же каша кроме console.log.

Славик
02.03.2016
12:27:31
решите кстати задачу http://acm.timus.ru/problem.aspx?num=1649&locale=ru

[Anonymous]
02.03.2016
12:27:38
Тут надо смотреть сферу применения - обычно обфусцируют платные скрипты, чтобы их нельзя было редактировать или спиздить.
Большинство обфускаторов, которые я встречал, легко переворачиваются. Давно пользуюсь CodeCanyon и ThemeForest чтобы рипать платные шаблоны бесплатно.
Но JSFuck не всё так просто получается.
И если я правильно понял - то это действительно хороший способ защиты JS.
К сожалению, нет времени проверять репозитории вроде этого - https://github.com/dNetGuru/JSUNFuck.


Маришка
02.03.2016
12:31:14
int toNumber(char * str, int start, int end) {
int result = 0;
for (int i = start, rate = 1; i <= end; i++, rate *= 10) {
result += rate * (str[i] - '0');
}
return result;
}
int getDay(char * birth_date) {
int year, month, day;
year = toNumber(birth_date, 6, 9);
if (bith_date[2] == '/') {
month = toNumber(birth_date, 0, 1);
day = toNumber(birth_date, 3, 4);
} else {
month = toNumber(birth_date, 3, 4);
day = toNumber(birth_date, 0, 1);
}
return year * 10000 + month * 100 + day;
}
я же birth_date в структуре описала или я что-то не понимаю

Славик
02.03.2016
12:31:37
эти 2 функции не завязаны на твою структуру

Google

Славик
02.03.2016
12:31:51
их теоретически можно заиспользовать для любой даты

Маришка
02.03.2016
12:32:19
о
эм
ах

Славик
02.03.2016
12:32:25
которая сохранена в массиве символов формата
XXDXXDYYYY
где XX - число
D - разделитель

Маришка
02.03.2016
12:32:30
пихать из структуры
я затупила

Славик
02.03.2016
12:32:56
я бы рекомендовал завести в структуре еще одну переменную int day

Маришка
02.03.2016
12:33:03
уже

Славик
02.03.2016
12:33:44
и при создании записывать ее как
YOUR_STRUCT.day = getDay(YOUR_STRUCT.birth_date);
я код не компилил если че
не знаю, работает ли он =) но должен