Les Tableaux en C

simo haida Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   -  
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour, tout le monde

j'ai créé 2 tableaux t1 et t2 de taille N de type numérique en langage C
qui peut m'aider d'ecrire un code qui permet de ranger le contenu des deux tableaux t1 et t2 en un seul tableau t3
merci d'avance ^^)) !

12 réponses

simo haida Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
est ce qu'il n y a pas de genies ici pour aider un debutant?? _0)) !!
0
Utilisateur anonyme
 
C'est du C++ mais j'espère que tu comprendras le principe

après avoir déclarer tes tableau et leurs nombres de valeurs respectivement n1 et n2
int i;
for(i=0;i<n1;i++)
{
T3[i]=T1[i];
}
for(i=n1;i<(n1+n2);i++)
{
T3[i]=T2[i-n1];
}
}


Amicalement
Emooc :)
0
simo haida Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
merci Emooc ...mais ca marche pas!!
0
Utilisateur anonyme
 
pourquoi sa ne marche pas ?
Tu as remarqué que je parle en C++
quel erreurs sont dédecté lors de la compilation ?
0

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

Posez votre question
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Bonjour,

Le code donné par émooc est correct en C comme en C++.
Par contre faut faire attention à l'allocation.
La taille de T3 doit être n1+n2

Sinon, plutôt que de passer par deux boucles for, tu peux utiliser la fonction memcpy.

Cdlt,
Configuration: Debian
IceWeasel

0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
par "ranger", veut tu dire "classer" ? La réponse ne sera pas la même.
0
simo haida Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
je pense que j'ai commis des fautes dans la déclaration....
vous pouvez me donnez une déclaration correcte
oui je travaille en c++ voila le programe que j'ai ecrit ,le probleme que la compilation s's terminé sans erreur mais lors de l'execution il apparait un message d'erreur meme que les autre projets que j'etait créé s'exécute normalement et sans probleme!!
voilà le code:

#include<stdio.h>
#include<conio.h>
main()
{
int n,x,i,t[i],a[i],b[i];
printf("remplissage du 1er tableau t \n");
printf("entrer le nombres des colones \t");
scanf("%d",&n);
for(i=0;i<=n;i++)
{
printf("taper la valeur %d \t",i);
scanf("%d",&t[i]);
}
printf("affichage de tableau \n");
for(i=0;i<=n;i++)
{
printf("%d \n",t[i]);
}
printf("remplissage du 2eme tableau a \n");
printf("entrer le nombres des colones \t");
scanf("%d",&x);
for(i=0;i<=x;i++)
{
printf("taper la valeur %d \t",i);
scanf("%d",&a[i]);
}
printf("affichage de tableau \n");
for(i=0;i<=x;i++)
{
printf("%d \n",a[i]);
}
printf("loperation de ranger le contenue des 2 tableux dans le 3 eme tableau \n");
for(i=0;i<=n;i++)
{
b[i]=t[i];
}
for(i=n;i<=(n+x);i++)
{
b[i]=a[i];
}
for(i=0;i<=(n+x);i++)
{
printf("%d",b[i]);
}
getch();
return 0;
}

vous pouvez me donner la correction complete de declaration jusqu'à la fin ......................................merci ^^))!!
0
simo haida Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
peut etre ^^
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Aie ! en effet, c'est pas bon ça !
Le compilateur est déjà bien gentil de ne pas te virer.
0
simo haida Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
tu peut me dire pourquoi?
0
simo haida Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai demandé seulement de le corriger ou bien donner un autre exemple complet c tout !!
merci d'avance
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Oui, désolé, pas eu le temps tout à l'heure.
Le C++ permet certaines souplesse dans la déclaration des tableaux, mais il faut tout de même qu'en entrant dans le corps de la fonction on connaisse déjà sa taille. Si tu veux faire un tableau de taille variable, il faut passer par des pointeurs (donc new).
int n,x,i,t[i],a[i],b[i];
te déclare des tableaux de taille "i", mais comme "i" n'a pas de valeur particulière, tu ne connais pas la taille de tes tableaux.
0