Vraag : Ik heb hulp met het sorteren van een vector nodig.

Dit is Een academische oefening maar geen daadwerkelijk probleem ik met vastgrijp.  Hopelijk kan ik dit vastbesloten vandaag krijgen. />A de bos


QUESTION: Hoe sorteer ik de vector dusdanig dat ik alle BANDEN tussen studenten vind?  Namelijk wil ik weten wanneer 2 of meer studenten lanceringen van de nauwkeurige zelfde afstand hebben bereikt.  Ik wil de output aan het scherm kijken als:

TIES:
44feet: 1, 16, 33 (dit wijst erop dat de Student ID# 1, 16, 33 allen lanceringen van precies 44 voet) had
32feet: 23, 27
19feet: 2, 3 die, 9, 14, 17

I am hulp gaan vereisen met het begrip van de cmpAttemptsfunctie die door een ander medelid van EE…. werd geschreven
" codeBody "
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
struct StudentAttempt
{
    int. StudentID
    int. afstand
}

bool cmpAttempts (recht verlaten StudentAttempt, StudentAttempt) {
   als (left.distance < right.distance) {
      ware terugkeer;
   }
   als anders (left.distance == right.distance) {
      als (left.StudentID < right.StudentID) {
         ware terugkeer;
      }
      anders
         valse terugkeer;
   }
   anders
      valse terugkeer;
}

in BELANGRIJKST….
vector  vLaunches;

soort (vLaunches.begin (), vLaunches.end (), cmpAttempts);
Related Oplossingen: How sorteer ik een vector?

Antwoord : Ik heb hulp met het sorteren van een vector nodig.

Gebruikend de code in de verwante post, overweeg wat gebeurt wanneer adjacent_find left= (22, A) en right= (22, A) naar isDistEqual verzendt (). De afstanden passen aan, maar studentenidentiteitskaart past niet en zo aan
       left.studentName! = right.studentName
is vals. Zo wordt dit paar overgeslagen door adjacent_find.

Zo, zult u niet zelfs van adjacent_find kennen die er zelfs twee ingangen = waren (22, A). Zo, moet u niet zich over het krijgen van 22 voet ongerust maken: A, A, C, D sinds 22, A zal slechts eenmaal worden gezien.
Andere oplossingen  
 
programming4us programming4us