Les Tableaux en C

Fermé
simo haida Messages postés 30 Date d'inscription jeudi 31 décembre 2009 Statut Membre Dernière intervention 21 juin 2010 - 7 juin 2010 à 17:49
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 8 juin 2010 à 14:14
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 jeudi 31 décembre 2009 Statut Membre Dernière intervention 21 juin 2010
7 juin 2010 à 18:09
est ce qu'il n y a pas de genies ici pour aider un debutant?? _0)) !!
0
Utilisateur anonyme
7 juin 2010 à 18:21
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 jeudi 31 décembre 2009 Statut Membre Dernière intervention 21 juin 2010
7 juin 2010 à 20:19
merci Emooc ...mais ca marche pas!!
0
Utilisateur anonyme
7 juin 2010 à 21:40
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 samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
7 juin 2010 à 22:08
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 vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
8 juin 2010 à 08:18
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 jeudi 31 décembre 2009 Statut Membre Dernière intervention 21 juin 2010
8 juin 2010 à 12:01
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 jeudi 31 décembre 2009 Statut Membre Dernière intervention 21 juin 2010
8 juin 2010 à 12:03
peut etre ^^
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
8 juin 2010 à 12:56
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 jeudi 31 décembre 2009 Statut Membre Dernière intervention 21 juin 2010
8 juin 2010 à 13:09
tu peut me dire pourquoi?
0
simo haida Messages postés 30 Date d'inscription jeudi 31 décembre 2009 Statut Membre Dernière intervention 21 juin 2010
8 juin 2010 à 13:53
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 vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
8 juin 2010 à 14:14
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