Tableau modifié

Signaler
Messages postés
25
Date d'inscription
dimanche 30 mars 2008
Statut
Membre
Dernière intervention
12 juin 2011
-
Messages postés
1054
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
9 juillet 2013
-
bonjour, j'ai rencontré un problème lors de la modification d'un tableau. en effet, mon premier tableau nommé T contient 3000 éléments. je veux créer un nouveau tableau nommé L qui contient les élements de T situées au positions pairs (T[0],T[2],T[4],...), et les éléments aux positions 6*i+1 (i=1..500).
donc L va contenir T[0],T[2],T[4],T[6],T[7],T[8],T[10],T[12],T[13],T[14],T[16],T[18],T[19],T[20],....
quelqu'un peut m'aider s'il vous plait.
merci d'avance.
youssef

3 réponses

Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
Salut,

Je ne sais pas de quel type est ton tableau, mais voila en gros a quoi ca peut ressembler :

int i;
int j = 0;
int Tab1[3000];
int Tab2[1500];

// On suppose que tu as initialisé Tab1 a cet étape du code.

for(i=0;i<3000;i=i+2){
Tab2[j++] = Tab1[i]
}

Shell
Messages postés
25
Date d'inscription
dimanche 30 mars 2008
Statut
Membre
Dernière intervention
12 juin 2011

mais le problème c'est pour les élements 7 et 13 et 19 etc (positions 6*i+1), votre solution ne tient pas compte de ces élemnts
Messages postés
1054
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
9 juillet 2013
6
Salut
Il suffit de faire deux tests
for(j=0,i=0;i<3000;i++)
if(!i&1 || i%6==1)
Tab2[j++] = Tab1[i];

Attention à la taille de Tab2
A+

____________________________________________________________________________
Logiciel en traitement de l'image gratuit et open source.