- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
void check( const elemType eps = std::numeric_limits<elemType>::epsilon() ){
count = 4;
int isAB=0, isAC=0, isAD=0, isBC=0, isBD=0, isCD=0;
if(A==B) isAB = 1;
if(A==C) isAC = 1;
if(A==D) isAD = 1;
if(B==C) isBC = 1;
if(B==D) isBD = 1;
if(C==D) isCD = 1;
if(isAB) {B=C;C=D;--count;}
if(isAC) {C=D;--count;}
if(isAD) {--count;}
if(isBC) {C=D;--count;}
if(isBD) {--count;}
if(isCD) {--count;}
if(count<3){std::cerr <<"Warning: Bad Frame.\n";}
}
Есть структура. В ней четыре поля. Два любых поля могут совпадать, могут не совпадать. Если два поля совпадают, то лишнее нужно удалить и установить счетчик в 3. Если больше двух полей совпадают сообщить об ошибке. Как это попроще (покрасивше) это сделать в стиле cpp?
blackhearted 15.06.2010 16:03 # −1
guest 15.06.2010 16:55 # −4
guest 15.06.2010 17:06 # +2
guest 15.06.2010 21:55 # +3
guest 15.06.2010 22:13 # −3
guest 15.06.2010 22:19 # +2
guest 15.06.2010 23:43 # 0
Webkill 15.06.2010 23:54 # 0
guest 16.06.2010 00:32 # −1
Пиздуй на двач блин, нефига тут тролей плодить.
Тут люди про компьютеры разговаривают.
nil 16.06.2010 00:38 # +3
Пpогpаммеpы квасят на пpиpоде. Идут pазговоpы, тpали-вали...
Один pассказывает:
- Познакомился тут с девушкой на дискотеке! Бесподобная деваха!
И фигуpка, и мозги есть, и танцует хоpошо! Так вот, pешил pickup'нуть ее к себе домой. Пpигласил, она согласилась. Пpишли, выпили винца, поговоpили о том, о сем, музыку послушали. Потом я ее поцеловал, пpиподнял аккуpатно, посадил задницей на клавиатуpу, поднял юбку...
Остальные:
- Так у тебя контупеp дома стоит?!?! А какой???
guest 16.06.2010 02:07 # +1
guest 16.06.2010 06:56 # +3
Программеры висят на говнокоде.
guest 16.06.2010 06:58 # +1
guest 16.06.2010 07:21 # +2
guest 16.06.2010 08:30 # −2
Webkill 18.06.2010 04:15 # −1
absolut 15.06.2010 17:31 # −3
blackhearted 15.06.2010 17:32 # −3
я этот шедевр на rsdn увидел. И никакого мне решения нахрен не нужно.
xXx_totalwar 15.06.2010 17:34 # +4
разгоняешься и в стену
ты спалился, урсус
blackhearted 15.06.2010 17:50 # 0
xXx_totalwar 15.06.2010 17:50 # 0
blackhearted 15.06.2010 17:51 # 0
расскажи кто это!
вот оригинал
http://rsdn.ru/forum/cpp/3842077.1.aspx
xXx_totalwar 15.06.2010 17:53 # +1
подробности тут http://www.govnokod.ru/3130
blackhearted 15.06.2010 17:55 # −1
xXx_totalwar 15.06.2010 17:59 # 0
guest 15.06.2010 18:28 # +3
pushkoff 15.06.2010 22:05 # −1
guest 15.06.2010 22:13 # −1
Webkill 15.06.2010 22:19 # −1
Ну отлично, молодец, знаешь ты этот анекдот, видел ты эту картинку, знаком с этим сайтом, успел с утра прочесть новость - ну и сиди, блять, и не пизди, дай другим людям понаслаждаться.
Приходят, блять, в каменты и гордо печатают: "Баянищще!" или "Да этому сто лет уже". Ну и хуй с ним. Да хоть, сука, триста.
Эти пидарасы являются идеальными одноразовыми потребителями. С утра увидели что-то, посмотрели, а к обеду любая ссылка на это что-то уже считается баяном. Чтоб у вас клавиатуры сгорели, уебаны!
Самое главное, что многие, кто дал на что-нибудь ссылку, и кому тут же в каменты насыпали "баян, баян", замыкаются и впредь боятся писать о чем-либо. Правильная реакция должна быть такой: "Баян? Ну и пошел нахуй, пидарас!" Тогда уже баянист задумается - а стоит ли в следующий раз вафельницу раззявать.
guest 15.06.2010 22:28 # 0
[:|/|/|/|:]
pushkoff 15.06.2010 22:29 # 0
Webkill 15.06.2010 22:34 # +2
guest 15.06.2010 22:37 # 0
pushkoff 16.06.2010 12:17 # −3
guest 16.06.2010 12:21 # −1
guest 16.06.2010 00:34 # +6
Вебкил, cука, такой тупой хомячек, что своих мозгов не имеет и вынужден копипастить других людей.
Webkill 17.06.2010 01:29 # 0
pushkoff 17.06.2010 02:28 # +1
guest 18.06.2010 02:25 # 0
На одну зарплату PHPшника нынче не проживешь.
Webkill 15.06.2010 22:23 # −2
Идите нахуй, пидарасы.
Я уже писал о том, что писать "баян" - это пиздец какая тупость и уепство? Идите нахуй дважды.
Я уже писал о том, что писать "баян" - это пиздец какая тупость и уепство? Идите нахуй трижды.
Я уже писал о том, что писать "баян" - это пиздец какая тупость и уепство? Идите нахуй четырежды.
Я уже писал о том, что писать "баян" - это пиздец какая тупость и уепство? Идите нахуй пятижды.
Я уже писал о том, что писать "баян" - это пиздец какая тупость и уепство? Идите нахуй итакдалеежды.
guest 15.06.2010 22:29 # −3
[:|/|/|/|:]
guest 15.06.2010 22:31 # 0
nil 15.06.2010 22:35 # −1
Реквестирую цикл!
PS. Ой, опоздал, только прочел, что уже есть.
PPS. Согласен, вообще. Не знаю, что за РВСН, но мне понравилось.
Но тут как всегда, есть два подхода к представлению информации... И, соответственно, адепты.
guest 15.06.2010 22:36 # +1
da4ever 15.06.2010 22:43 # +1
guest 15.06.2010 22:47 # −1
guest 16.06.2010 00:35 # +6
turdman 16.06.2010 12:58 # +1
3.14159265 16.06.2010 14:57 # −1
но кажись он ненастоящий
хоть и радует перлами
guest 16.06.2010 17:15 # −2
guest 16.06.2010 17:20 # +1
Мистер Хэнки 15.06.2010 18:11 # +3
guest 15.06.2010 18:14 # +4
Мистер Хэнки 16.06.2010 06:02 # +4
guest 16.06.2010 06:24 # +3
guest 16.06.2010 06:25 # +3
guest 16.06.2010 06:26 # +4
guest 16.06.2010 06:27 # −3
guest 15.06.2010 18:30 # −3
guest 15.06.2010 21:57 # −3
пони нет и она здесь не насрёт. есть тебе нечего.
guest 15.06.2010 23:24 # −3
guest 15.06.2010 18:54 # +2
сделайте пацану лабу, парашу же схватит за девятый класс по информатике!
TarasB 15.06.2010 19:06 # −3
if (k>=2) {ShowError}
else if (k==1) {
if (A==D || B == D || C == D) Delete(D)
else if (A==C || B == C) Delete(C)
else if (A == B) Delete(B);
}
absolut 15.06.2010 21:35 # −3
> else if (A == B) Delete(B);
else Delete(B);
TarasB 15.06.2010 22:00 # +1
absolut 15.06.2010 23:06 # +1
guest 15.06.2010 23:24 # 0
guest 15.06.2010 21:59 # −2
true+true равно true
guest 16.06.2010 09:12 # −2
guest 16.06.2010 09:16 # −2
true - true равно false
legolegs 17.06.2010 00:59 # 0
http://codepad.org/0cIUQRxL
Имхо, без коментов код всё равно не очень понятен.
guest 17.06.2010 01:02 # +2
legolegs 17.06.2010 01:05 # −1
guest 17.06.2010 01:11 # +2
legolegs 17.06.2010 01:31 # −1
turdman 17.06.2010 09:22 # +1
Это, видимо, шутка?
legolegs 17.06.2010 16:47 # 0
pushkoff 17.06.2010 21:53 # 0
legolegs 18.06.2010 01:10 # 0
pushkoff 18.06.2010 14:04 # 0
удаление лишних это O(n) а у тебя O( n log n ) + O(n/2)...
pushkoff 18.06.2010 14:07 # 0
объясни плз что происходит в 3 и 4 цикле...
legolegs 19.06.2010 10:47 # 0
pushkoff 20.06.2010 14:23 # 0
либо удалить все одинаковые элементы за один проход (стабильный, О(M))
твой вариант удаления O(M log M)...
где M = count - j, в среднем N/2...
есть еще такой вариант:
проход по всем элементам
удаление дальше по массиву таких же элементов
свойства: стабильный, сложность в худшем случае О(n log n) если нечего удалять...
guest 17.06.2010 18:07 # +1
bool isAB=false, isAC=false, isAD=false, isBC=false, isBD=false, isCD=false;
будет выглядеть покрасивше.
А ещё лучше:
bool isAB=(A==B), isAC=(A==C), isAD=(A==D), isBC=(B==C), isBD=(B==D), isCD=(C==D);
это плюс оптимизация инициализаций.
Но лучше, чем реализация с четырьмя циклами не придумаешь.