Remplissage d'un tableau de structure
Bonsoir et bonne année à tous,
Je tiens à préciser que je débute donc si vous pouviez être indulgent avec mon pauvre code.... :)
Je souhaite remplir un tableau avec des éléments de structure selon ce modèle :
Code:
1 2 3 4 5
| struct model {
int indice;
int taille;
int *donnees;
}; |
Voilà les fonctions associées
Fonctions.c
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
|
#include <stdio.h>
#include <stdlib.h>
#include "Fonctions.h"
/* Création d'une variable de type générique */
generique Creer_elem_generique(int c, int t)
{
generique element;
element.clef = c;
element.taille = t;
element.donnees = calloc( t , sizeof(int));
return element;
}
/* Copie de structures generiques (U <- S) avec copie de leurs données */
generique Copie_elem_generique(generique S, generique U)
{
int i=0;
U = Creer_elem_generique(S.clef,S.taille);
for(i=0; i < S.taille; i++){
U.donnees[i] = S.donnees[i];
}
return U;
}
/* Remplissage d'un tableau contenant des éléments de type générique */
void REMPLIR_tableau(generique *tableau, int taille_tab, int t_donnees,int Tri_entier)
{
generique element = {0,0,NULL};
int i=0,j=0,cle=0;
for(i=0; i < taille_tab; i++){
printf("\n clef [%i] : ",i);
scanf("%d",&cle);
if(Tri_entier == 0){
element = Creer_elem_generique(cle,t_donnees);
for(j = 0; j < t_donnees; j++){
printf("\n DONNEES [%i] : ",j);
scanf("%d",&element.donnees[j]);
}
Copie_elem_generique(element, tableau[i]); /*problèmatique*/
printf("\n t [%d] = %d",i,tableau[i].clef); /*problèmatique*/
printf("\n");
}
}
}
/* Affiche la clef ainsi que les données numériques de chaque élément du tableau */
void AFFICHER_elem(generique *tableau, int taille_tab, int Tri_entier)
{
int i,j;
for(i = 0; i < taille_tab; i++){
printf("%d ",tableau[i].clef);
if(Tri_entier == 0){
for(j = 0; j < tableau[i].taille; j++){
printf("%d ",tableau[i].donnees[j]); /* Ici problème de syntaxe car le champ données est aussi un tableau */
}
}
}
} |
Ma fonction Copie_elem_generique est fausse mais je ne vois pas ou se trouve le problème.
Je souhaite entrer au fur et à mesure les éléments de type générique dans le tableau avec les données .
Cependant le résultat de sortie ne me renvoie que des 0 (le calloc sans doute) à l'affichage.
Merçi beaucoup de votre aide .
Cordialement Bil'0x