Pourrais-tu reformuler ton problème, ce n'est pas très clair :(.
En attendant, je vais pointer quelques points perfectibles dans ton code:
- En C++, une structure et une classe, c'est la même chose (à part le niveau de visibilité par défaut). Donc il n'est pas nécessaire d'indiquer "struct" en argument d'une déclaration de fonction.
- En C++ la déclaration de ta struct serait la suivante:
struct T
{
std::string mt;
std::string marque;
};
- Je ne comprends pas la déclaration suivante: T (*p)[NB], un tableau de "T" devrait être T p[NB] ("p" est alors déjà un pointeur vu qu'un tableau est un pointeur).
- En C++ on évite les anciennes constructions du C. Donc pour un tableau à taille variable, on préfère un std::vector<T> (dont on peut forcer une taille via .resize(NB) si nécessaire), pour un tableau à taille fixe, un std::array<T, NB>.
- "j = j - 1" pourrait s'écrire plu succinctement en "--j" (pareil pour les autres cas identiques).
Pour supprimer des doublons d'un tableau, on préfère généralement la méthode suivante:
- Utilisation d'un std::vector
- tri via std::sort
- dédoublonnage via std::unique
Bonsoir ,
Merci pour ton aide je vais essayer d'améliorer mes connaissances en utilisant et appliquant ce que tu proposes. J'ai réussi à améliorer les choses en effet j'ai transformé le fameux T (*p)[] en T p[] qui fonctionne mieux effectivement . Bonne soirée. Merci encore .