Occurence dans un tableau

Résolu
drakouki - 30 nov. 2012 à 16:06
 drakouki - 3 déc. 2012 à 16:49
bonjour , j'ai un problème dans un exercice , on me demande de modifier un tableau de tel sorte qu'il enlève toutes les occurrences d'un nombre déjà présent exemple :

T ====> 1,2,1,2,3,1,3,2 il le transforme en ===> 1,2,3

si une personne aimable pourrais bien m'aider :) ^^ ! Merci d'avance :D

5 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
30 nov. 2012 à 16:53
1) Mets ton code dans des balises de code.
2) Met un code entier qui compile. Que l'on puisse tester.

________________________________________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio
http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
3
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
30 nov. 2012 à 16:22
Bonjour.

Je rapelle que l'on corrige volontier un raisonnement/algorithme ou un code, mais que l'on ne fait ni le travail, ni la réflexion à la place du demandeur.

Je t'invite donc à poster ton code, et à indiquer ce qui te bloque précisement dans celui-ci.

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
0
d'accord :) !
donc après déclaration des variables :) !


T2[0]=T[0]
for(i=1;i<n;i++)
{
for(j=0;j<n;j++)
{if(T2[i]!=T[j])
T2[i]=T[j];}}

:)
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
1 déc. 2012 à 21:17
T2[0]=T[0] ???
"on me demande de modifier un tableau"
Tu ne dois donc pas copier dans un autre tableau mais supprimer les doublons IN SITU.
EXEMPLE:

DWORD supprDoublonsInts(int *ptab, DWORD n)
{
  DWORD pRD, pWRT, i;
  int v;
  if(n < 2) return n;
  pRD = 1;
  pWRT = 1;
doTAB:
  v = ptab[pRD];
  for(i = 0; i < pWRT; i++) { // Y EST DEJA ???
    if(v == ptab[i]) goto nextREAD;
  }
  ptab[pWRT] = v; // NON TROUVE, ON INSERE
  pWRT++;
nextREAD:
  pRD++;
  if(pRD < n) goto doTAB;
  return pWRT;  // ON RETOURNE COMBIEN IL EN RESTE
}

void tstDoublons()
{
  char buf[160], *d;
  int T[12], *p;
  DWORD n;
  
  for(n = 0; n < 12; n++) { // INIT TABLEAU
    T[n] = (int) n;
  }
  
  T[4] = 10;
  T[9] = 0;
  T[10] = 6;  // QUELQUES DOUBLONS
  
  n = supprDoublonsInts(T, n);
  
  // AFFICHAGE WindowsoBruNewsien
  *bnultoa(n, buf) = 0;  // COUNT EN TITRE AFFICHAGE
  d = buf + 12;
  if(n) {
    p = T;
    do {
      d = bnultoa(*p, d);
      *d = 10;
      p++;
      d++;
    } while(--n);
  }
  *d = 0;
  MessageBox(0, buf + 12, buf, 0);
}



ciao...
BruNews, MVP VC++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Merci.
0
Rejoignez-nous