- 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?
Пиздуй на двач блин, нефига тут тролей плодить.
Тут люди про компьютеры разговаривают.
Пpогpаммеpы квасят на пpиpоде. Идут pазговоpы, тpали-вали...
Один pассказывает:
- Познакомился тут с девушкой на дискотеке! Бесподобная деваха!
И фигуpка, и мозги есть, и танцует хоpошо! Так вот, pешил pickup'нуть ее к себе домой. Пpигласил, она согласилась. Пpишли, выпили винца, поговоpили о том, о сем, музыку послушали. Потом я ее поцеловал, пpиподнял аккуpатно, посадил задницей на клавиатуpу, поднял юбку...
Остальные:
- Так у тебя контупеp дома стоит?!?! А какой???
Программеры висят на говнокоде.
я этот шедевр на rsdn увидел. И никакого мне решения нахрен не нужно.
разгоняешься и в стену
ты спалился, урсус
расскажи кто это!
вот оригинал
http://rsdn.ru/forum/cpp/3842077.1.aspx
подробности тут http://www.govnokod.ru/3130
Ну отлично, молодец, знаешь ты этот анекдот, видел ты эту картинку, знаком с этим сайтом, успел с утра прочесть новость - ну и сиди, блять, и не пизди, дай другим людям понаслаждаться.
Приходят, блять, в каменты и гордо печатают: "Баянищще!" или "Да этому сто лет уже". Ну и хуй с ним. Да хоть, сука, триста.
Эти пидарасы являются идеальными одноразовыми потребителями. С утра увидели что-то, посмотрели, а к обеду любая ссылка на это что-то уже считается баяном. Чтоб у вас клавиатуры сгорели, уебаны!
Самое главное, что многие, кто дал на что-нибудь ссылку, и кому тут же в каменты насыпали "баян, баян", замыкаются и впредь боятся писать о чем-либо. Правильная реакция должна быть такой: "Баян? Ну и пошел нахуй, пидарас!" Тогда уже баянист задумается - а стоит ли в следующий раз вафельницу раззявать.
[:|/|/|/|:]
Вебкил, cука, такой тупой хомячек, что своих мозгов не имеет и вынужден копипастить других людей.
На одну зарплату PHPшника нынче не проживешь.
Идите нахуй, пидарасы.
Я уже писал о том, что писать "баян" - это пиздец какая тупость и уепство? Идите нахуй дважды.
Я уже писал о том, что писать "баян" - это пиздец какая тупость и уепство? Идите нахуй трижды.
Я уже писал о том, что писать "баян" - это пиздец какая тупость и уепство? Идите нахуй четырежды.
Я уже писал о том, что писать "баян" - это пиздец какая тупость и уепство? Идите нахуй пятижды.
Я уже писал о том, что писать "баян" - это пиздец какая тупость и уепство? Идите нахуй итакдалеежды.
[:|/|/|/|:]
Реквестирую цикл!
PS. Ой, опоздал, только прочел, что уже есть.
PPS. Согласен, вообще. Не знаю, что за РВСН, но мне понравилось.
Но тут как всегда, есть два подхода к представлению информации... И, соответственно, адепты.
но кажись он ненастоящий
хоть и радует перлами
пони нет и она здесь не насрёт. есть тебе нечего.
сделайте пацану лабу, парашу же схватит за девятый класс по информатике!
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);
}
> else if (A == B) Delete(B);
else Delete(B);
true+true равно true
true - true равно false
http://codepad.org/0cIUQRxL
Имхо, без коментов код всё равно не очень понятен.
Это, видимо, шутка?
удаление лишних это O(n) а у тебя O( n log n ) + O(n/2)...
объясни плз что происходит в 3 и 4 цикле...
либо удалить все одинаковые элементы за один проход (стабильный, О(M))
твой вариант удаления O(M log M)...
где M = count - j, в среднем N/2...
есть еще такой вариант:
проход по всем элементам
удаление дальше по массиву таких же элементов
свойства: стабильный, сложность в худшем случае О(n log n) если нечего удалять...
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);
это плюс оптимизация инициализаций.
Но лучше, чем реализация с четырьмя циклами не придумаешь.