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 */
}
}
}
} |
Partager