Fusion de deux tableaux
Fermé
oumayma
-
Modifié par Chris 94 le 11/11/2014 à 01:07
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 11 nov. 2014 à 01:13
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 11 nov. 2014 à 01:13
A voir également:
- Fusion de deux tableaux
- Fusionner deux tableaux excel - Guide
- Fusionner deux cellules excel - Guide
- Tableaux croisés dynamiques - Guide
- Deux ecran pc - Guide
- Comment fusionner deux pdf - Guide
1 réponse
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
11 nov. 2014 à 01:13
11 nov. 2014 à 01:13
Bonjour,
Plutôt que de faire un autre post, je t'invite à rester sur le même...
Je ferme l'autre.
int t[n],t1[nb]
int fus[m];
Il manque un ; Et ce n'est pas bon de faire comme ça en C. Il faut indiquer la taille avec un nombre, pas une variable... Si la taille tu ne la connais pas à l'avance, je te conseille d'utiliser l'allocation dynamique.
for(i=0;i<n;i++) { fus[i]=t[i];
}
On suppose que le tableau t ne contient pas de doublons ?
if(fus[j] != t1[i])
compt=0;
else{
compt=1;
j=j+n;}
Ca manque de logique...
Dès qu'un élément du tableau t1 n'est pas présent dans fus alors on réinitialise le compteur à 0. Généralement, on met le compteur à 0 en début de boucle for (je te laisse voir lequel). Ensuite, dès qu'il y a un élément présent dans fus, alors on effectue compteur=compteur+1 (note, tu aurais pu juste mettre un flag "doublon").
j=j+n;
Surtout pas... C'est la variable de ta boucle for...
if(compt==0){
fus[j+n ]=t1[i];}
}
Oui pour le if, mais non pour l'affectation. Si tu fais ainsi tu te retrouveras avec un tableau avec des trous. En plus les trous ne seront pas initialisés... Il faut que tu te crées un compteur spécifique pour ton tableau fus. Et tu l'incrémentes dès que tu stockes un élément dans le tableau. Je te laisse réfléchir à ça.
Merci d'utiliser la balise "code" la prochaine fois comme dans l'exemple ci-dessous :
<code c>ici tu mets ton code</code>
Plutôt que de faire un autre post, je t'invite à rester sur le même...
Je ferme l'autre.
int t[n],t1[nb]
int fus[m];
Il manque un ; Et ce n'est pas bon de faire comme ça en C. Il faut indiquer la taille avec un nombre, pas une variable... Si la taille tu ne la connais pas à l'avance, je te conseille d'utiliser l'allocation dynamique.
for(i=0;i<n;i++) { fus[i]=t[i];
}
On suppose que le tableau t ne contient pas de doublons ?
if(fus[j] != t1[i])
compt=0;
else{
compt=1;
j=j+n;}
Ca manque de logique...
Dès qu'un élément du tableau t1 n'est pas présent dans fus alors on réinitialise le compteur à 0. Généralement, on met le compteur à 0 en début de boucle for (je te laisse voir lequel). Ensuite, dès qu'il y a un élément présent dans fus, alors on effectue compteur=compteur+1 (note, tu aurais pu juste mettre un flag "doublon").
j=j+n;
Surtout pas... C'est la variable de ta boucle for...
if(compt==0){
fus[j+n ]=t1[i];}
}
Oui pour le if, mais non pour l'affectation. Si tu fais ainsi tu te retrouveras avec un tableau avec des trous. En plus les trous ne seront pas initialisés... Il faut que tu te crées un compteur spécifique pour ton tableau fus. Et tu l'incrémentes dès que tu stockes un élément dans le tableau. Je te laisse réfléchir à ça.
Merci d'utiliser la balise "code" la prochaine fois comme dans l'exemple ci-dessous :
<code c>ici tu mets ton code</code>