Tableau

MirKoRn Messages postés 27 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 18 octobre 2007 - 19 sept. 2007 à 15:13
MirKoRn Messages postés 27 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 18 octobre 2007 - 3 oct. 2007 à 14:33
j'ai un petit problème:

je voudrai effacer certaine case d'un tableau d'entier pour ensuite les remplacer par d'autre chiffres mais... je saus pas comment les effacer!??!!??!?!?!?

a part ça mon programme de poker est bientôt fini!!!! YOUPIIII

7 réponses

cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
19 sept. 2007 à 15:17
Comment ça effacer? Tu peux écrire dessus tout simplement!?
cs_sam20 Messages postés 184 Date d'inscription lundi 31 juillet 2006 Statut Membre Dernière intervention 26 mai 2016 3
19 sept. 2007 à 16:49
int Tableau[10];

Tableau[0]=5;
Tableau[1]=10;
//je change
Tableau[0]=0;
tibob51 Messages postés 268 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 13 mai 2013 2
20 sept. 2007 à 11:11
Salut, tu ne peu pas effacer directement une seule case de ton tableau, l'astuce serai d'y mettre une valeur style 0 ou -1 que ton prog ignora a la lecture, par contre si 0 et -1 sont des valeur que tu utilise il faut que tu recopie ton tableau dans un nouveau tableau de taille n-1,en  ignorant la case que tu veut supprimmer.
ex:

int n=10;

int *tab_original;
int *tab_modifie;
int a_effacer;

tab_original=new int[n];

//initialisation de ton tableau ect...
a_effacer=3;// la 4eme valeur sera supprimée

tab_modifie=new int[n-1];

for (int c=0;c<n;c++)
 if (c = = a_effacer)
  continue;

tab_modifie[c]=tab_original[c]
MirKoRn Messages postés 27 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 18 octobre 2007
21 sept. 2007 à 17:25
sam: j'avait essayer ça mais ça marchai pas.... enfin je vais trouver et je vais essayer tibob, de faire ce que tu m'as dis!!!

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

Posez votre question
Bug_Bug Messages postés 9 Date d'inscription dimanche 22 juillet 2007 Statut Membre Dernière intervention 2 octobre 2007
2 oct. 2007 à 13:54
I)

Pour supprimer les valeurs que tu veut d'un tableau, tu peut: parcourir ton tableau, et dés que tu trouve la valeur que tu veut supprimer, tu décalle le reste des veleurs du tableau (qui viennent aprés) d'une case vers l'arriére.

1 | 6 | 19 | 5 | 8 | -3 | 99 | ...
On supprimer le valeur qui ce trouve à l'indice 3, càd la valeur 5, On aura:
1 | 6 | 19 | 8 | -3 | 99 | ...

Algo:

Parcourire tableau:
{
   Si c'est la valeur qu'on veut supprimer:
      DecalerAGauche()
   Sinon
      continuer le parcour
}

DecalerAGauche()
{
    parcourire le tablaue à partir de l'indice actuel:
    {
        tab[indiceActuel] := tab[indiceActuel - 1];
     }
  
    Diminuer la taille du tableau;
}

II)
Mais si tu veut selement remplaçer des valeurs qui ce trouve dans ton tableau par d'autre valeurs, là tu le fait dirrectement, y a aucun probléme ! t'as pas desoin d'effacer comme tu le dit...

Fait de ton mieu et poste ton code.
Bug_Bug Messages postés 9 Date d'inscription dimanche 22 juillet 2007 Statut Membre Dernière intervention 2 octobre 2007
2 oct. 2007 à 13:57
[auteur/TIBOB51/270145.aspx tibob51] > tab_original=new int[n];
C'est de C++ pas du C.
MirKoRn Messages postés 27 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 18 octobre 2007
3 oct. 2007 à 14:33
en fait ce que j'ai fait avec l'aide d'un pote c'est ça:

void separeTableau(int dep[], int arr[],int n) // fonction qui separe le tableau cartes(de départ) en deux tableaux distincts
{
 for(int j=n; j<5+n; j++)
 {
  arr[j-n]=dep[j];
 }

comme ça c'est plus simple et je complique pas la vie!
Rejoignez-nous