Карта сайта

Это автоматически сохраненная страница от 24.01.2014. Оригинал был здесь: http://2ch.hk/b/res/61506337.html
Сайт a2ch.ru не связан с авторами и содержимым страницы
жалоба / abuse: admin@a2ch.ru

Суб 25 Янв 2014 00:57:14
Последняя надежда.
Последняя надежда. Надо написать программу на паскале.



Суб 25 Янв 2014 00:58:36
>>61506337
Может, у кого-то было что-нибудь похожее?

Суб 25 Янв 2014 00:59:13

Суб 25 Янв 2014 00:59:46
>2014
>Pascal


Суб 25 Янв 2014 01:00:07



Суб 25 Янв 2014 01:00:36
Бля, такую хуйню можно написать, имея в арсенале только if then и больше нихуя, в чем сложность то?

Суб 25 Янв 2014 01:00:36



Суб 25 Янв 2014 01:00:54
>>61506337
Надо.

Суб 25 Янв 2014 01:00:54
>>61506337
Еще не поздно сменить универ. Дальше будет только хуже

Суб 25 Янв 2014 01:01:18
>>61506532
Ну позязя.

Суб 25 Янв 2014 01:02:16
>>61506532
>только if then
Глядите, долбоёбов полон тред.

Суб 25 Янв 2014 01:02:33
>>61506532
Да ты охуел, а как же while?

Сложность в том, что оп - мудило

Суб 25 Янв 2014 01:03:39
Прогу тебе не помогу, т.к. паскаля не знаю, но дам подсказку:
каждый последующий член в ряду отличается от предыдущего на множитель (-1)*х/n. Так что факториал считать не нужно

Суб 25 Янв 2014 01:04:31
>>61506553
Я это понял ещё после первой сессии, браток. Но суровые родители не дали мне бросить универ, дотянули меня до конца, так что я уже не студент. А это меня попросил один знакомый сделать для его сестры, лол. Думает, что я там чему-то научился, наверное. Да он в своём пту за три года большему научился.

Суб 25 Янв 2014 01:05:55
>>61506645
Тут же рекурсия напрашивается.

Суб 25 Янв 2014 01:07:35
>>61506631
Маня, ну если ты застрял в высокоуровневой хуйне, это не значит, что язык имеющий только эту конструкцию не полный по тьюрингу.

Суб 25 Янв 2014 01:10:34
>>61506532
ещё for

Суб 25 Янв 2014 01:11:04
>>61506921
Не полный, нужен переход жи!

Суб 25 Янв 2014 01:12:27
>>61506826
тут обычный for, нафиг тут рекурсия

Суб 25 Янв 2014 01:12:41
>>61506693
>>61506631
>>61506532
>>61507082

Итак, мы уже почти закончили, осталось только грамотно скомпоновать.

Суб 25 Янв 2014 01:17:49
>>61507186
Я бы помог, но Jaedong сливает терану... Минут 20

Суб 25 Янв 2014 01:25:16
>>61507467
Я жду тебя.


Суб 25 Янв 2014 01:30:03

Суб 25 Янв 2014 01:34:51
>>61508104
Бля, паскаль не запускается на 64 винде...

Суб 25 Янв 2014 01:35:55
>>61508345
Блин.

Суб 25 Янв 2014 01:37:29
>>61508345
http://www.compileonline.com/compile_pascal_online.php
Не отмажешься так просто.

Суб 25 Янв 2014 01:37:49
>>61508397
Даже с досбоксом сохранять не дает и менять настройки

Суб 25 Янв 2014 01:38:23
>>61508483
Да, сам уже нашел

Суб 25 Янв 2014 01:42:12
>>61508483
О, крутяк. Не знал о такой штуке.

Суб 25 Янв 2014 01:42:21
>>61506337
Я бы написал, но я уже не понимаю что это за разложение на ряд, что значит 1! и 2! и что это за e^-x. Работаю программером, но математику сколько лет как не открывал. Кароч алгоритм знаю как написать, саму формулу не понимай.

Суб 25 Янв 2014 01:44:33
>>61508766
Ну и погромизды, пиздец. факториал, е в степени -х

Суб 25 Янв 2014 01:46:44
>>61508880
Ну а хули, я вебсайтики и проги для айфона на работе пишу. Думаешь я за столько-то лет хоть один раз факториал какой-то решал?

Суб 25 Янв 2014 01:49:22



Суб 25 Янв 2014 01:49:33
>>61508979
Ну не настолько же всё хуёво у вебкодеров, я думал.

Суб 25 Янв 2014 01:51:05
>>61506337
Желаю тебе проебать свою первую сессию,уёбище.

Суб 25 Янв 2014 01:51:08
>>61509129
Ща погуглю, что такое факториал.

Суб 25 Янв 2014 01:51:43
Вот для e^x на с++. Может быть в плане организации кода всё очень плохо, но оно таки работает. Просто решал задачку из учебника по с++.
#include <iostream>
#include <iomanip>
using std::setprecision;
using std::cout;
using std::cin;
using std::endl;

long double factorial( int n )
{
int i = 1, factorial = 1;
while (i <= n)
{
factorial = factorial * i;
i++;
}
return factorial;
}

long double find_e(int accuracy)
{
int i = 0;
long double e = 0, fraction;

while (i < accuracy)
{
fraction = 1 / factorial(i);
e = e + fraction;
i++;
}
return e;
}


int main()
{
int accuracy;
cout << "Input accuracy: ";
cin >> accuracy;

cout << "e = " << setprecision(10) << find_e(accuracy);
cin >> accuracy;
}

Суб 25 Янв 2014 01:54:20
>>61509220
Я уже проебал первую сессию, и остальные тоже, но кое-как получил диплом. Никому такого не желаю. ОП.

Суб 25 Янв 2014 01:55:38
>>61509224
Произведение от 1 до этого числа.

Суб 25 Янв 2014 01:58:00
>>61509255
Блин, а как-нибудь это в паскаль можно перевести?

Суб 25 Янв 2014 01:58:23
>>61509456
Определение факториала можно записать как: n! = n*(n-1)(n-2)...*1

Примеры значений для разных n:
1 1! = 1
2 2! = 2*1 = 2
3 3! = 3*2*1 = 6
4 4! = 4*3*2*1 = 24
5 5! = 5*4*3*2*1 = 120

Вот эту понял. Так у ОПа другая формула же.

Суб 25 Янв 2014 01:58:26
Если до тебя это не доходит, беги меняй специальность. Дальше будет, как снежный ком. Это все равно, что хотеть стать экономистом, не выучив таблицу умножения.

Суб 25 Янв 2014 02:00:34
>>61509567
Ай, не пизди, пашу вебпрограммиздом много лет, я тож эту формулу не понимаю.

Суб 25 Янв 2014 02:00:39
>>61509567
Мне уже поздно, у меня уже диплом есть.

Суб 25 Янв 2014 02:00:49
>>61509540

var
i, x:integer;
de:real;
val, fact, powr, df:double;
c:boolean;
begin
write('X=');
readln(x);
write('e=');
readln(de);

val:=1;
powr:=1;
fact:=1;
df:= 1;
c:=true;
for i:=1 to x do
begin
df:=val;
powr:=powr * x;
fact:=fact * i;
if (c) then val := val - (powr/fact) else val := val + (powr/fact);
c:= not c;

if abs(val - df) < de then exit;

end;

write('f=');
writeln(val);
end.

Только с точностью какая - то херня, ни брики ни екситы не пашут

Суб 25 Янв 2014 02:02:46
>>61509682
Тебе надо не "формулу понимать", а писать цикл уровня детского сада. Если ты не видишь, где тут цикл, для тебя все кончено.

Суб 25 Янв 2014 02:02:58
>>61509691
бля, как тут нормально сделать форматирование?

Суб 25 Янв 2014 02:03:46
>>61509787
теги code

Суб 25 Янв 2014 02:04:21
Держи скелет и переделывай под свою формулу, лолка.
program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils, math;

function Rus(S:String):String;
var i:byte;
begin
Result:='';
for i:=1 to Length(S) do
case S of
'А'..'п': Result:=Result+Chr(Ord(S)-64);
'р'..'я': Result:=Result+Chr(Ord(S)-16);
'Ё': Result:=Result+Chr(240);
'ё': Result:=Result+Chr(241);
else
Result:=Result+S;
end;
end;

var s,r,d,x,eps:real;
n:integer;
begin
writeln('Eps:=?');
readln(eps);
writeln('X:=?');
readln(x);
writeln('n:=?');
readln(n);
writeln;
r:=x;
n:=1;
s:=1;

while Abs(r)>eps do begin
s:=s+r;
n:=n+1;
r:=r*x/n;
end;
writeln(Rus('Точность='));
writeln(eps:5:3);
Writeln(rus('Количество шагов'));
writeln(n);
writeln;
writeln(rus('приближенное значение:'));
writeln(s:5:3);
writeln;
writeln(rus('точное значение:'));
writeln((exp(x)):5:3);
writeln;
writeln(rus('абсолютная ошибка:'));
writeln((Abs(exp(x)-s)):5:3);
writeln;
writeln(rus('относительная ошибка:'));
writeln((Abs((exp(x)-s)/exp(x))):5:3);
writeln;
readln;
end.

Суб 25 Янв 2014 02:06:06

var
i, x:integer;
de:real;
val, fact, powr, df:double;
c:boolean;
begin
write('X=');
readln(x);
write('e=');
readln(de);

val:=1;
powr:=1;
fact:=1;
df:= 1;
c:=true;
for i:=1 to 50 do
begin
df:=val;
powr:=powr * x;
fact:=fact * i;
if (c) then val := val - (powr/fact) else val := val + (powr/fact);
c:= not c;

if abs(val - df) < de then break;

end;

write('f=');
writeln(val);
end.


Суб 25 Янв 2014 02:06:27
>>61509780
Я для такой n! = n*(n-1)(n-2)...*1 цикл могу написать. А как у ОПа хз.

Суб 25 Янв 2014 02:09:09
>>61508483
Оп, ниже, начинается с var

Суб 25 Янв 2014 02:14:41
>>61506337
ОП, чтобы ты понял, какой ты мудак, посмотри, что я написал для тебя, не написав до этого ни одной программы в жизни на Паскале.

Program HelloWorld(output);
var
epsilon, answer, error, i, x :real;
begin
epsilon:=0.001;
i := 1;
answer := 1;
error :=1;

writeln ('enter x');
readln (x);
while error*error>epsilon*epsilon do
begin
error := error*(-x)/i;
answer := answer+error;
i := i+1;
end;
write('exp(-');
write(x);
writeln(') equals:');
write (answer);
write(' +/-');
writeln(epsilon);
end.

Суб 25 Янв 2014 02:16:31
>>61510401
Чета мне кажется, что больше и пробовать не стоит

Суб 25 Янв 2014 02:17:53
>>61510401
Я мудак, наверное, я гуманитарий. А то, что ты написал уже работает? А то, что выше скидывали — то же самое?

Суб 25 Янв 2014 02:17:59
>>61510401
>>61509959
>>61509691
Какая-то у вас костыльная магия, программа первокурсника должна выглядеть так >>61509853.



Суб 25 Янв 2014 02:21:19
>>61510560
Не то же самое, судя по моему внутреннему.

var
i, x:integer;
de:real;
val, fact, powr, df:double;
c:boolean;
begin
- кун

Суб 25 Янв 2014 02:21:54
>>61510560
Работает, я только пропустил в твоём описании, что точность тоже задаётся пользователем. В остальном на том онлайн-компиляторе, что ты вбросил, всё работало.

Суб 25 Янв 2014 02:26:35
200 wmr

Суб 25 Янв 2014 02:31:14
>>61509255
И я таки соснул. Там было три задания. В том что я выложил надо было просто e найти
Вот нахождение e ^ -x, правда я не знаю, как точность как у опа сделать

#include <iostream>
#include <iomanip>
#include <cmath>
using std::setprecision;
using std::cout;
using std::cin;
using std::endl;

long double factorial( int n )
{
int i = 1, factorial = 1;
while (i <= n)
{
factorial = factorial * i;
i++;
}
return factorial;
}


long double find_e(int accuracy, int x)
{
int i = 1;
long double e = 1, fraction;


while (i < accuracy)
{
fraction = pow(x, i) / factorial(i);
if (i&1)
e = e - fraction;
else
e = e + fraction;
i++;
}
return e;
}


int main()
{
int accuracy, x;
cout << "Input x: ";
cin >> x;
cout << "Input accuracy: ";
cin >> accuracy;

cout << "e ^ -x = " << setprecision(35) << find_e(accuracy, x);
cin >> accuracy;
}

Суб 25 Янв 2014 02:36:06
>>61508880
Так нахуй это говно нужно, мудак ты тупой? Ты что может быть считаешь, что тот, кто не знает наизусть все тома Кнута не может считаться программистом? Свои ебанутые задачки может себе в анус затолкать.

Мимокрестоблядь.

Суб 25 Янв 2014 02:40:56
>>61511362
Ну это элементарная хуйня. Число и восклицательный знак, такому в школе в 5 классе учат. А что пишешь на крестах? Сам иногда пытаюсь учить (вбрасывал только что решения оппика на с++) но дальше этого и не заходил.

Суб 25 Янв 2014 02:41:46
>>61508979
Убей себя об стену, быдлокодер ебаный. Бомбит от таких как ты.

Суб 25 Янв 2014 02:45:23
>>61511180
Раз уж пошла такая пьянка, может доброанончик и мне поможет с курсовой :3 Мне нужен скрипт сервера/клиента игры "отгадай число" но на питоне

http://www.compileonline.com/execute_python_online.php

Суб 25 Янв 2014 02:45:24
>>61511580
А ты кто по масти?

Суб 25 Янв 2014 02:46:43
СУКА БЛЯДЬ НЕ ПИШИТЕ ЕМУ НИЧЕГО ПУСТЬ ВЫПРУТ НАХУЙ. НЕ МОЖЕШЬ НАПИСАТЬ ЭЛЕМЕНТАРНУЮ ПРОГРАММУ - ИДИ УЧИСЬ НА СОЦИОЛОГА.


Суб 25 Янв 2014 02:48:49
>>61511727
Пиздец, разложение экспоненты в ряд - это первый семестр матана! Это любой технарь знает.

Суб 25 Янв 2014 02:49:33
>>61511726
ЭТОГО ТОЖЕ НАХУЙ ШЛИТЕ.


Суб 25 Янв 2014 02:49:48
>>61511779
Да его все равно выпрут. Не в этом семе, так в другом.

Суб 25 Янв 2014 02:52:43
>>61511891
Ну и зачем тогда энтропию увеличивать, помогая ему?

Суб 25 Янв 2014 02:56:26
>>61511891
Меня не выперли благодаря родителям. Я писал выше. У меня уже диплом технаря. лучше бы выперли Тем, кто помог, выражаю благодарность. Я бы вам отсосал.

Суб 25 Янв 2014 03:00:31
>>61511580
Лалка, ты че такой злой. Я код тоже уже кстати осилил, всего-то надо было в формуле разобраться.

http://pastebin.com/uaEEJZj6

вебпогромист

Суб 25 Янв 2014 03:04:41
>>61512319
Чёт херня какая-то. Нечитаемое говно.

Суб 25 Янв 2014 03:05:02
>>61512319
>if minus then minus := FALSE else minus := TRUE;
ебать ты обезъяна

1 = x^0 / 0!
elem[n] = (- x)^n / n!

Суб 25 Янв 2014 03:07:05
>>61512471
Норм, пашет же.

вебпогромизд

Суб 25 Янв 2014 03:07:06
>>61512485
Бля, вы там ещё и массивы приплели?

Суб 25 Янв 2014 03:09:07
>>61512485
Чо?

Суб 25 Янв 2014 03:09:16
>>61512560
это псевдокод, долбаеб.

elem[n] <- Nый элемент

N-ый элемент = минус икс в степни N делить на факториал N

Суб 25 Янв 2014 03:11:30
>>61512644
алсо, я не смог запихать fact в итерацию, чтобы не пересчитывать его снова и снова. так что не буду свой говнокод постить.

Суб 25 Янв 2014 03:12:11
>>61512644
Ну лады. Я бы до (-x)^n не догадался.
мимокрок

Суб 25 Янв 2014 03:14:32
>>61512747
>>61512644

Аа, ты типа вместо переменной minus свойства степени используешь. Так я в математике не шарю, я б не догадался.

вебпогромизд

Суб 25 Янв 2014 03:15:45
>>61512834
ну да, возведение в степень же в 7 классе проходят, тебе еще рано.

Суб 25 Янв 2014 03:18:26
>>61512877
Мне уж поздно, я вебпогромиздом 5 лет пашу, школу забыл.

Суб 25 Янв 2014 03:28:22
Лал, итоги треда - одну вебмакаку научили факториалы решать, одному гуманитарию выдали кучу говнокода, чтобы препод охуевал.

Суб 25 Янв 2014 03:31:07
>>61513318
Преподы обычно код пишут еще хуже чем макаки.

Суб 25 Янв 2014 03:32:27
ОП, ты ещё здесь? Какой код решил сдавать преподу?

Суб 25 Янв 2014 03:33:35

Суб 25 Янв 2014 03:34:15
>>61513450
Наверняка сдаст самый нерабочий, он же гуманитарий.

Суб 25 Янв 2014 03:37:49
бля, это совсем несложная хуйня, мы такие в конце первого курса ещё решали, я б написал код, но мне так лень, правда. Извини.

Суб 25 Янв 2014 03:41:14
>>61513504
Бля, мне просто влом было читать - вроде бы они неправильно проверяли, что очередной элемент ряда меньше эпсилон. Там, очевидно, стоит домножать эпсилон на факториал, и сравнивать его с |X|. А не наоборот - нахуй надо, погрешность может появиться. Я не знаю, какие у препода тесты для той проги.
И я бы исправил, но ровно для одной конкретной проги.

Или там всё норм?

Суб 25 Янв 2014 04:01:18
>>61513724
Эпсилон это значение текущего добавляемого члена. Если оно меньше или равно, то выходить из цикла. Не надо там эпсилон ни на что домножать.

Суб 25 Янв 2014 04:04:47
>>61514291
Нет. В условии задачи написано, что суммирование нужно прекратить, когда значение текущего добавляемого члена будет не превышать епсилон.
Для того, чтобы проверять это условие, можно делить степень икса на факториал, а потом сравнивать с епсилон. Но это будет с возможной погрешностью, и если от этой перспективы немного жжет, можно домножить обе части неравенства на факториал, и уже потом сравнивать.
Так понятно?

Суб 25 Янв 2014 04:11:46
>>61514380
А, я понял, ты деление на умножение предлагаешь заменить. Чтоб типа большие числа сравнивал, вместо маленьких.

Суб 25 Янв 2014 04:32:46
мда уж, уровень /b/ зашкливает, никто даже похожего на нормальный код так и не написал, как бы и не кукарекали, что они на нем не пишут. я хуею, как они пишут на своих Сях Шарпах, етц. лол. если еще нужно, то отписывайся на мыло, отпишись - скину фейк

Суб 25 Янв 2014 04:36:26
>>61514928
вот норм код
http://pastebin.com/9Nbyq5tr

Суб 25 Янв 2014 04:41:37
>>61514993
лол, молодца, не был бы я сейчас пьяный в жопу, то полез бы исправлять..
спасибо, поржал, реально

Суб 25 Янв 2014 04:41:46
О может это решите раз вы крутые такие, а то меня училка обещала розгами выебать


Суб 25 Янв 2014 04:46:30
>>61515079
Да ладно, работает же, условиям ОПа удовлетворяет.

Суб 25 Янв 2014 04:47:46
>>61515080
Ну нихуя, это гуманитариев уже так грузят?

Суб 25 Янв 2014 04:52:31
>>61515080
Бля, собалезную, но в данный момент бессилен помочь. Кстати, очень сложное задание, мы такое не решали, но бля.. они охуели там чтоли... Я - технарь, заявляю, что это довольно сложная задача. И не для 2-3 курса, ну а гумманитарию там вообще делайть нехуй

Суб 25 Янв 2014 05:08:36
>>61515080
Задача неоднозначна, остовных деревьев может быть много. Пикрелейтед, например, дает ответ 4, а не три.

Если же требуется найти что-то более конкретное, скажем, о.д. с ребром наибольшего веса, то:

>>61515080
Можно сначала снести все петли (a=b) вместе со строками.
Затем все кратные ребра (a1=a2,b1=b2).
Далее - пройтись по вершинам и, каждый раз обнаруживая цикл, снести в пределах него 1 ребро наименьшего веса.
В конечном итоге, если не ошибаюсь, останется остовное дерево. Останется только выбрать наибольшее число из третьего столбца.

Суб 25 Янв 2014 05:09:01
>>61515507
Пикрелейтед, собственно


Суб 25 Янв 2014 05:15:22
>>61506337
А не пошёл бы ты нахуй, говнюк?

Суб 25 Янв 2014 05:15:32
>>61515080
Это же олимпиадная задача, даже по оформлению видно. Не гони, что тебе их училка задавала. Если хотел взять людей на слабо, у тебя, судя по всему, получилось.

Суб 25 Янв 2014 05:19:42
>>61515507
Нужно найти остовное дерево у которого наибольший вес ребра минимальный, точнее вес этого ребра

Суб 25 Янв 2014 05:28:56
>>61515672
Да, хуево прочитал.
Тогда когда по циклам ходить будешь, наибольшие убирай.

Суб 25 Янв 2014 05:30:11
>>61515080
Остовных деревьев может быть много - надо их все обойти в цикле через BFS, посчитать веса, потом выбрать лучшее дерево. Видимо каждый раз нужно начинать BFS от разной вершины.

Суб 25 Янв 2014 05:31:12
>>61515827
тогда сложность m*log(m) получится а не n*log(m)

Суб 25 Янв 2014 05:32:03

Суб 25 Янв 2014 05:33:00

Суб 25 Янв 2014 05:35:23
>>61515844
вообще наверно можно это решить бинарным поиском по ответу, тут вроде вообще сложность типа линейная получится, но думаю тут требуется не это

Суб 25 Янв 2014 05:37:13
>>61515927
хотя не она получится даже хуже чем m*log(m)

Суб 25 Янв 2014 05:40:01
>>61515827
насколько я помню bsf алгоритм нахождемния кратчайшего пути между 2 узлами, вообще не пойму как его тут применить

Суб 25 Янв 2014 05:44:44
Посоны, что бы мне почитать на тему "сложности алгоритмов"? Не понимаю, откуда этот логарифм берется и как именно он что-то оценивает.

Суб 25 Янв 2014 05:48:40
>>61511726
Bumpец :с

Суб 25 Янв 2014 05:50:05
>>61511726
ТЗ запили

Суб 25 Янв 2014 05:51:48
>>61516071
Я это помню с учебы:
O(1) - постоянное время выполнения, не зависит от размера данных
O(log n) - время выполнения растет логарифмически (лучше линейного)
O(n) - линейное, сколько данных, настолько и время растет
O(n log n) - log-linear, тормознее линейного

n везде это твои данные

Суб 25 Янв 2014 05:53:34
>>61516071
В смысле где берется? В решении убирать наибольшее? Для этого нужно отсортировать их, а это намного лучше чем за n*log(n) не сделаешь. Это можно понять например при помощи модели desision tree - количество возможных конечных состояний n!. Если на них строить дерево то его высота будет log(n!). n! можно аппроксимировать по формуле Стирлинга. Вот, существуют алгоритмы сортировки которые сортируют за n*log(n) - quick sort или merge sort, например.

Суб 25 Янв 2014 05:58:49
>>61516150
1) Скрипт, клиент, который соеденяется с серваком по порту 4000, при соединении получает сообщение с сервера "какое число я загадал". С серваком может одновременно много клиентов соеденяться.

2) Сервак - принимает соединения от простого клиента и админского, простому клиенту загадывает любое число от 1-10 и пока он не отгадает будет писать "горячё или холодно" . А админский клиент при сообщении LIST выдаст список текущих соединений

Надеюсь ничего не упустил с:

Суб 25 Янв 2014 06:04:27
>>61516071
тут хорошо разжевывается
http://en.wikipedia.org/wiki/Time_complexity

Суб 25 Янв 2014 06:07:20
>>61516280
сейчас не напишу, потому как аццки залипаю, но могу сказать, что читать.
Для соединения используй сокеты - очень простая фигня, проще некуда. Смотри документацию по ним: http://docs.python.org/3/library/socket.html и http://docs.python.org/2/library/socket.html для разных питонов соответственно. В общем то, кроме этого ничего и не надо. Через эти сокеты можно отправлять текст, так что с преобразованием данных проблем тоже нет(если надо передавать объекты, есть модуль pickle, который объект преобразует в строку). Посижу тут еще минут 20. Спрашивай, если что.

Суб 25 Янв 2014 06:15:55
>>61516426
Как лучше реализовать чтоб было 2 разных клиента для админа и для юзера?

Суб 25 Янв 2014 06:22:39
>>61516558
по моему, логичней всего запилить авторизацию для админа. не вижу смысла делать 2 версии клиента, тем более, что тут даже декомпилить то не не надо, чтобы код исправить и все поломать

Суб 25 Янв 2014 06:23:08
>>61516558
логин/пароль же сделай на серваке.
с сервака шли флаг одмина, в клиенте включай одминские функции, если есть такой флаг

Суб 25 Янв 2014 06:23:36
>>61516641
Я тоже не вижу смысла, однако в курсовой ясно сказанно иметь 2 вида клинта-скрипта...

Суб 25 Янв 2014 06:24:54
Мне кажется, у меня такая хуйня была на мгу вмк 1-ом курсе.

Суб 25 Янв 2014 06:25:31
>>61516656
ну пиши два клиента тогда, админский клиент шлет флаг админ, клиентский флаг клиент - сервак их сортирует по флагу и выдает им разные ответы

Суб 25 Янв 2014 06:29:20
>>61516681
С этим понял, тогда остается последний вопрос... как сделать так, что при соединении клиент записывался бы в список активных игроков и каждому новому игроку выдавался уникальное для него число для отгадывания, совсем замечательно было бы с примером ответ

Суб 25 Янв 2014 06:34:46
>>61516727
клиент соединяется - шлет логин/пароль, сервак генерит md5 hash от строки логин+пароль, потом генерит уникальное число рандом генератором, у сервака есть массив randomnumbers (в БД или текстовом файле), в этот массив вносится запись - сгенерированный md5 hash - сгенерированное число. Клиент сидит гадает, шлет на сервак числа. Сервак делает запрос по md5 hash из БД или файла и сверяет с записанным числом.

Суб 25 Янв 2014 06:37:51
>>61515080
Возможно тут дейкстру можно применить, только вместо расстояния между вершинами считать максимальный вес ребра на пути от старта.

Суб 25 Янв 2014 06:58:47
>>61516781
Спасибо


← К списку тредов