1 pièce(s) jointe(s)
Non Execution de la boucle For lors de son utilisation dans une fonction (Fusion de deux tableaux)
Bonjour tout le monde,
J'aimerai avoir votre aide sur un problème qui me tourmente depuis quelque jours avec une boucle (FOR).
Je vous explique premièrement qu'est ce que j'essaie de faire, dans mon code C, j'essaye de fusionner deux tableaux, A, et B dans un troisième intitulé Tableau_C.
La première fonction que j'avais fait, permet de définir la taille ainsi que la saisi des tableaux A et B.
La deuxième fonction qui s'intitule Fusion de deux Tableaux, permet de faire appel à la fonction précédente (Saisi), afin qu'elle puisse concaténer les deux tableaux (A et B), à mon point de vue, elle le fait, mais il ne m'affiche pas le dernier résultat qui est l'Affichage du tableaux C.
Après plusieurs tentatives, j'ai remarqué que le programme n'exécute pas ma dernière boucle For dans la fonction Fusion des Deux Tableaux.
Si vous pouvez m'aider, je vous en serais très reconnaissant, vos remarques et critiques seront d'une grande importance durant mon parcours d'apprentissage du langage C.
Je vous joint une copie de mon code.
Merci beaucoup à vous tous, et au plaisir de lire vos commentaires.
Voici mon code sans erreur, et sans warning
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
| #include <stdio.h>
#include <stdlib.h>
#include <math.h>
int Fusion_Deux_Tableaux(int Tableau_1[], int Tableau_2[], int Taille);
int SaisiDuTableau(int Tableau[]);
//***************************************************************************************************//
// FONCTION MAIN //
//***************************************************************************************************//
int main(int argc, char *argv[])
{
printf("Hello Hamza, Lets get Fun Again!\n\n");
int Taille=0;
int Tableau_A[Taille];
int Tableau_B[Taille];
int Tableau_C[Taille+Taille];
*Tableau_C=Fusion_Deux_Tableaux(Tableau_A, Tableau_B, Taille);
}
//***************************************************************************************************//
// FONCTION DE FUSION //
//***************************************************************************************************//
int Fusion_Deux_Tableaux(int Tableau_1[], int Tableau_2[], int Taille)
{
int j = 1;
int i = 0;
int k = 0;
//Taille = 0;
int TableauFusion[Taille+Taille];
SaisiDuTableau(Tableau_1);
for(i=0 ; i<Taille ; i++)
{
TableauFusion[i]=Tableau_1[i];
}
SaisiDuTableau(Tableau_2);
i=0;
for(k=Taille ; k<(Taille+Taille) ; k++)
{
TableauFusion[k]=Tableau_2[i];
i++;
}
for(i=0 ; (i<(Taille+Taille)) ;i++ )
{
printf("La valeur du %i element du Tableau est maintenant : %d\n\n", j, *(TableauFusion+i));
j++;
}
return *TableauFusion;
}
//***************************************************************************************************//
// SAISI FONCTION //
//***************************************************************************************************//
int SaisiDuTableau(int Tableau[])
{
int j = 1;
int i = 0;
int Taille=0;
printf("Donner la taille du Tableau SVP!!\n\n");
scanf("%i", &Taille);
for(i=0 ; i<Taille ; i++)
{
printf("donner le %d Element du tableau \n\n", j);
scanf("%d", &Tableau[i]);
j++;
}
int ValTemporary1, ValTemporary2;
for(i=0 ; (i<Taille) ;i++ )
{
for(j=i;j<(Taille);j++)
{
if((Tableau[i]>Tableau[j]))
{
ValTemporary1=Tableau[i];
Tableau[i]=0;
ValTemporary2=Tableau[j];
Tableau[j]=0;
Tableau[i]=ValTemporary2;
Tableau[j]=ValTemporary1;
ValTemporary1 = 0;
ValTemporary2 = 0;
}
}
}
j=1;
for(i=0 ; (i<Taille) ;i++ )
{
printf("La valeur du %i element du Tableau est : %d\n\n", j, *(Tableau+i));
j++;
}
return *Tableau;
}
//**********************************************************************************************************************// |