Click here to Skip to main content
15,895,872 members

The Weird and The Wonderful

   

The Weird and The Wonderful forum is a place to post Coding Horrors, Worst Practices, and the occasional flash of brilliance.

We all come across code that simply boggles the mind. Lazy kludges, embarrassing mistakes, horrid workarounds and developers just not quite getting it. And then somedays we come across - or write - the truly sublime.

Post your Best, your worst, and your most interesting. But please - no programming questions . This forum is purely for amusement and discussions on code snippets. All actual programming questions will be removed.

 
GeneralRe: Bored of if..else? Pin
Samuel Cragg30-Jul-10 12:29
Samuel Cragg30-Jul-10 12:29 
GeneralRe: Bored of if..else? Pin
Gary R. Wheeler1-Aug-10 0:21
Gary R. Wheeler1-Aug-10 0:21 
GeneralRe: Bored of if..else? Pin
bleedingfingers3-Aug-10 2:10
bleedingfingers3-Aug-10 2:10 
GeneralRe: Bored of if..else? Pin
Hired Mind5-Aug-10 10:59
Hired Mind5-Aug-10 10:59 
GeneralRe: Bored of if..else? Pin
Roger Wright3-Aug-10 20:55
professionalRoger Wright3-Aug-10 20:55 
GeneralRe: Bored of if..else? Pin
VaKa11-Aug-10 9:27
VaKa11-Aug-10 9:27 
GeneralRe: Bored of if..else? [modified] Pin
BillW3325-Aug-10 6:12
professionalBillW3325-Aug-10 6:12 
GeneralClustering... The hard way! Pin
Geoff Bolton28-Jul-10 17:44
Geoff Bolton28-Jul-10 17:44 
Okay, hello Coding Horrors!!! A while ago I stumbled upon this delightful piece of code, which appears in a much larger monster that is (thankfully) obsolete. This loop also has a number of shorter variants covering the case of 7, 6, 5, 4 etc cameras. It cracked me up in any case, and I'd like to share it. To this day, I haven't worked out whether the person who wrote it was a fool, a genius, or both!

Enjoy =)

//if there are 8 cameras, clustering 15 out of 28 pairs
if (pairCount>=28) 
{
  // compute the distances among points
  errBounce = FLOAT_MAX;
  for (i1=0; i1<pairCount-14; i1++)
  {
    for (i2=i1+1; i2<pairCount-13; i2++)
    {
      for (i3=i2+1; i3<pairCount-12; i3++)
      {
        for (i4=i3+1; i4<pairCount-11; i4++)
        {
          for (i5=i4+1; i5<pairCount-10; i5++)
          {
            for (i6=i5+1; i6<pairCount-9; i6++)
            {
              for (i7=i6+1; i7<pairCount-8; i7++)
              {
                for (i8=i7+1; i8<pairCount-7; i8++)
                {
                  for (i9=i8+1; i9<pairCount-6; i9++)
                  {
                    for (i10=i9+1; i10<pairCount-5; i10++)
                    {
                      for (i11=i10+1; i11<pairCount-4; i11++)
                      {
                        for (i12=i11+1; i12<pairCount-3; i12++)
                        {
                          for (i13=i12+1; i13<pairCount-2; i13++)
                          {
                            for (i14=i13+1; i14<pairCount-1; i14++)
                            {
                              for (i15=i14+1; i15<pairCount; i15++)
                              {
                                centroid[0] = (estBounce[i1][0] + estBounce[i2][0] + estBounce[i3][0] + estBounce[i4][0] + estBounce[i5][0] + 
                                  estBounce[i6][0]  + estBounce[i7][0]  + estBounce[i8][0]  + estBounce[i9][0]  + estBounce[i10][0] +
                                  estBounce[i11][0] + estBounce[i12][0] + estBounce[i13][0] + estBounce[i14][0] + estBounce[i15][0])/15.0;
                                centroid[1] = (estBounce[i1][1] + estBounce[i2][1] + estBounce[i3][1] + estBounce[i4][1] + estBounce[i5][1] + 
                                  estBounce[i6][1]  + estBounce[i7][1]  + estBounce[i8][1]  + estBounce[i9][1]  + estBounce[i10][1] +
                                  estBounce[i11][1] + estBounce[i12][1] + estBounce[i13][1] + estBounce[i14][1] + estBounce[i15][1])/15.0;
                                centroid[2] = (estBounce[i1][2] + estBounce[i2][2] + estBounce[i3][2] + estBounce[i4][2] + estBounce[i5][2] + 
                                  estBounce[i6][2]  + estBounce[i7][2]  + estBounce[i8][2]  + estBounce[i9][2]  + estBounce[i10][2] +
                                  estBounce[i11][2] + estBounce[i12][2] + estBounce[i13][2] + estBounce[i14][2] + estBounce[i15][2])/15.0;
                                
                                // added Nov 13, 2005
                                dis1 = PointDistance(centroid, estBounce[i1]);
                                dis2 = PointDistance(centroid, estBounce[i2]);
                                dis3 = PointDistance(centroid, estBounce[i3]);
                                dis4 = PointDistance(centroid, estBounce[i4]);
                                dis5 = PointDistance(centroid, estBounce[i5]);
                                dis6 = PointDistance(centroid, estBounce[i6]);
                                dis7 = PointDistance(centroid, estBounce[i7]);
                                dis8 = PointDistance(centroid, estBounce[i8]);
                                dis9 = PointDistance(centroid, estBounce[i9]);
                                dis10= PointDistance(centroid, estBounce[i10]);
                                dis11= PointDistance(centroid, estBounce[i11]);
                                dis12= PointDistance(centroid, estBounce[i12]);
                                dis13= PointDistance(centroid, estBounce[i13]);
                                dis14= PointDistance(centroid, estBounce[i14]);
                                dis15= PointDistance(centroid, estBounce[i15]);
                                
                                dis = dis1+dis2+dis3+dis4+dis5+dis6+dis7+dis8+dis9+dis10+dis11+dis12+dis13+dis14+dis15;
                                if (dis<errBounce)
                                {
                                  // added Nov 13, 2005: using the weighted average instead of centroid as the bounce
                                  w1 = (dis2+dis3+dis4+dis5+dis6+dis7+dis8+dis9+dis10+dis11+dis12+dis13+dis14+dis15)/(dis*14.0);
                                  w2 = (dis1+dis3+dis4+dis5+dis6+dis7+dis8+dis9+dis10+dis11+dis12+dis13+dis14+dis15)/(dis*14.0);
                                  w3 = (dis1+dis2+dis4+dis5+dis6+dis7+dis8+dis9+dis10+dis11+dis12+dis13+dis14+dis15)/(dis*14.0);
                                  w4 = (dis1+dis2+dis3+dis5+dis6+dis7+dis8+dis9+dis10+dis11+dis12+dis13+dis14+dis15)/(dis*14.0);
                                  w5 = (dis1+dis2+dis3+dis4+dis6+dis7+dis8+dis9+dis10+dis11+dis12+dis13+dis14+dis15)/(dis*14.0);
                                  w6 = (dis1+dis2+dis3+dis4+dis5+dis7+dis8+dis9+dis10+dis11+dis12+dis13+dis14+dis15)/(dis*14.0);
                                  w7 = (dis1+dis2+dis3+dis4+dis5+dis6+dis8+dis9+dis10+dis11+dis12+dis13+dis14+dis15)/(dis*14.0);
                                  w8 = (dis1+dis2+dis3+dis4+dis5+dis6+dis7+dis9+dis10+dis11+dis12+dis13+dis14+dis15)/(dis*14.0);
                                  w9 = (dis1+dis2+dis3+dis4+dis5+dis6+dis7+dis8+dis10+dis11+dis12+dis13+dis14+dis15)/(dis*14.0);
                                  w10= (dis1+dis2+dis3+dis4+dis5+dis6+dis7+dis8+dis9 +dis11+dis12+dis13+dis14+dis15)/(dis*14.0);
                                  w11= (dis1+dis2+dis3+dis4+dis5+dis6+dis7+dis8+dis9 +dis10+dis12+dis13+dis14+dis15)/(dis*14.0);
                                  w12= (dis1+dis2+dis3+dis4+dis5+dis6+dis7+dis8+dis9 +dis10+dis11+dis13+dis14+dis15)/(dis*14.0);
                                  w13= (dis1+dis2+dis3+dis4+dis5+dis6+dis7+dis8+dis9 +dis10+dis11+dis12+dis14+dis15)/(dis*14.0);
                                  w14= (dis1+dis2+dis3+dis4+dis5+dis6+dis7+dis8+dis9 +dis10+dis11+dis12+dis13+dis15)/(dis*14.0);
                                  w15= (dis1+dis2+dis3+dis4+dis5+dis6+dis7+dis8+dis9 +dis10+dis11+dis12+dis13+dis14)/(dis*14.0);

                                  //[It goes on.... Code removed for sake of brevity]
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }

  // normalize the error (distance)
  errBounce /= 15;
}

GeneralRe: Clustering... The hard way! Pin
Super Lloyd28-Jul-10 20:49
Super Lloyd28-Jul-10 20:49 
GeneralRe: Clustering... The hard way! Pin
leppie28-Jul-10 21:57
leppie28-Jul-10 21:57 
GeneralRe: Clustering... The hard way! Pin
Jeroen De Dauw29-Jul-10 3:14
Jeroen De Dauw29-Jul-10 3:14 
GeneralRe: Clustering... The hard way! Pin
supercat929-Jul-10 4:50
supercat929-Jul-10 4:50 
GeneralRe: Clustering... The hard way! Pin
dybs29-Jul-10 18:11
dybs29-Jul-10 18:11 
GeneralRe: Clustering... The hard way! Pin
Lutosław30-Jul-10 2:05
Lutosław30-Jul-10 2:05 
GeneralRe: Clustering... The hard way! Pin
James Lonero4-Aug-10 18:39
James Lonero4-Aug-10 18:39 
GeneralIE Invisible DIV Bug Pin
AspDotNetDev28-Jul-10 11:58
protectorAspDotNetDev28-Jul-10 11:58 
GeneralRe: IE Invisible DIV Bug Pin
Luc Pattyn28-Jul-10 12:19
sitebuilderLuc Pattyn28-Jul-10 12:19 
GeneralRe: IE Invisible DIV Bug Pin
AspDotNetDev28-Jul-10 12:23
protectorAspDotNetDev28-Jul-10 12:23 
GeneralRe: IE Invisible DIV Bug Pin
Daniel 'Tak' M.28-Jul-10 13:12
Daniel 'Tak' M.28-Jul-10 13:12 
GeneralRe: IE Invisible DIV Bug Pin
Hired Mind5-Aug-10 11:10
Hired Mind5-Aug-10 11:10 
GeneralRe: IE Invisible DIV Bug Pin
AspDotNetDev5-Aug-10 12:06
protectorAspDotNetDev5-Aug-10 12:06 
GeneralRe: IE Invisible DIV Bug Pin
AspDotNetDev5-Aug-10 12:07
protectorAspDotNetDev5-Aug-10 12:07 
JokeOpinions PinPopular
SirTimothy27-Jul-10 19:38
SirTimothy27-Jul-10 19:38 
GeneralRe: Opinions PinPopular
OriginalGriff27-Jul-10 20:38
mveOriginalGriff27-Jul-10 20:38 
GeneralRe: Opinions Pin
Rob Grainger27-Jul-10 23:00
Rob Grainger27-Jul-10 23:00 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.