Question : Comment est-ce que j'obtiens de ce code à mon rendement désiré ?

Ce n'est pas un exercice scolaire, mais un problème réel que j'essaye de résoudre.  le groupe du

A d'étudiants (AG) sont engagés en concurrence de lancement de voir à quelle distance ils peuvent jeter un objet (mesuré en pieds).  Je suis concerné par identifier des CRAVATES dans la distance jetée entre différents étudiants.  C'est-à-dire, si 2 étudiants ou plus ont une cravate je vouloir être mis au courant de elle.  le

Please voient code.

From ce code que je veux que le rendement montre pour ressembler à ceci : pieds du
44 : C, pieds d'E
33 : B, pieds de D
22 : A, C, D, F

Given que nous avons maintenant l'iterator il… comment j'obtiens mon rendement désiré ?
class= > " clair " de
> de " codeSnippet " de class= de
class= " lineNumbers " de
class= de
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 :
26 :
27 :
28 :
29 :
30 :
31 :
32 :
33 :
34 :
35 :
36 :
37 :
38 :
39 :
40 :
41 :
42 :
43 :
44 :
45 :
46 :
47 :
48 :
49 :
50 :
51 :
52 :
53 :
54 :
55 :
" de " codeSnippet814654 d'id= " de
#include de class=
 de #include
 de #include
 de #include
 de #include

using namespace DST ;

struct StudentAttempt
{
   distance d'international ;
   studentName de corde ;
} ;

cmpAttempts de bool (StudentAttempt laissé, droit de StudentAttempt) {
   si (left.distance < right.distance) {
      de retour rectifier ;
   }
   autrement si (== right.distance de left.distance) {
      si (left.studentName < right.studentName) {
         de retour rectifier ;
      }
      autrement
         faux de retour ;
   }
   autrement
      faux de retour ;
}

bool isDistEqual (StudentAttempt laissé, droit de StudentAttempt) {
   retourner (== right.distance de left.distance
      && left.studentName ! = right.studentName) ;
}

force d'international () {

   throwDist de StudentAttempt [] = {
      {50, « A »}, {22, « A »}, {16, « B »}, {44, « C »},
      {33, « D »}, {34, « E »}, {22, « F »}, {21, « G »},
      {49, « A »}, {5, « B »}, {2, « C »}, {22, « A »},
      {33, « B »}, {22, « C »}, {22, « D »}, {44, « E »},
   } ;
   international len = sizeof) (de throwDist/sizeof (throwDist [0]) ;
   dist de vector (le throwDist, throwDist + len) ;
   vector : : iterator il = dist.begin () ;

   sorte (dist.begin (), dist.end (), cmpAttempts) ;

   pour (; il ! = dist.end () ; it++) {
      cout << setw (2) << (*it) .distance 
         << « pieds :   » << (*it) .studentName << endl ;
   }

   il = adjacent_find (dist.begin (), dist.end (), isDistEqual) ;
}
class= de

Réponse : Comment est-ce que j'obtiens de ce code à mon rendement désiré ?

Essai CORRECT et prochain ; o)

Cette fois nous éliminerons les distances que nous avons déjà manipulées :
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 :
26 :
27 :
28 :
29 :
30 :
31 :
32 :
33 :
34 :
35 :
36 :
37 :
38 :
39 :
40 :
41 :
42 :
43 :
44 :
45 :
46 :
47 :
48 :
49 :
50 :
51 :
52 :
53 :
54 :
55 :
56 :
57 :
58 :
59 :
60 :
61 :
62 :
63 :
64 :
65 :
66 :
67 :
68 :
69 :
70 :
71 :
72 :
73 :
74 :
75 :
76 :
77 :
78 :
79 :
80 :
81 :
82 :
83 :
84 :
85 :
86 :
87 :
88 :
89 :
90 :
91 :
92 :
93 :
94 :
95 :
96 :
97 :
#include  
#include  
#include  
#include  
#include  
#include  
#include  

using namespace DST ;

struct StudentAttempt
{
   distance d'international ;
   studentName de corde ;
} ;

cmpDist de bool (StudentAttempt laissé, droit de StudentAttempt) {
   si (== right.distance de left.distance) {
      de retour rectifier ;
   }

  renvoyer faux ;
}

cmpAttempts de bool (StudentAttempt laissé, droit de StudentAttempt) {
   si (left.distance < right="">et v, StudentAttempt& SA, stringstream& solides solubles de const) {

  vecteur : : const_iterator i = v.begin () ;
  size_t la SZ = 0 ;

  tandis que (I ! = v.end ()) {

    si (isDistEqual (*i, SA)) {
    
      studentName <>de solides solubles ;
      ++sz ;
    }

    ++i ;
  }

  la SZ de retour ;
}

force d'international () {

   throwDist de StudentAttempt [] = {
      {50, « A »},      {22, « A »},      {16, « B »},      {44, « C »},
      {33, « D »},      {34, « E »},      {22, « F »},      {21, « G »},
      {49, « A »},      {5, « B »},      {2, « C »},      {22, « A »},
      {33, « B »},      {22, « C »},      {22, « D »},      {44, « E »},
   } ;

   l'ensemble a manipulé ;

   international len = sizeof) (de throwDist/sizeof (throwDist [0]) ;
   dist de vecteur (le throwDist, throwDist + len) ;
   vecteur : : iterator il = dist.begin () ;

   sorte (dist.begin (), dist.end (), cmpAttempts) ;
   //unique (dist.begin (), dist.end (), cmpDist) ;


   pour (; il ! = dist.end () ; it++) {

      stringstream solides solubles ;

      paires : : iterator, bool> p = handled.insert (it->distance) ;

      si (! p.second) continuent ; // a déjà manipulé

      si (0  < printAllEqual="">
           
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us