Les Tableaux en C
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 ^^)) !
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
-
ContributeurOui, 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. -
j'ai demandé seulement de le corriger ou bien donner un autre exemple complet c tout !!
merci d'avance -
tu peut me dire pourquoi?
-
ContributeurAie ! en effet, c'est pas bon ça !
Le compilateur est déjà bien gentil de ne pas te virer. -
peut etre ^^
-
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 ^^))!! -
Contributeurpar "ranger", veut tu dire "classer" ? La réponse ne sera pas la même.
-
ContributeurBonjour,
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
-
pourquoi sa ne marche pas ?
Tu as remarqué que je parle en C++
quel erreurs sont dédecté lors de la compilation ? -
merci Emooc ...mais ca marche pas!!
-
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 :) -
est ce qu'il n y a pas de genies ici pour aider un debutant?? _0)) !!