permutation des éléments d'une structure
Bonjour,
Voici mon problème.
J'ai une structure contenant 4 entiers, et je cherche à permuter 2 à 2 les éléments de cette structure.
Je souhaite faire appel pour cela à la fonction permute, dont voici le code :
Code:
1 2 3 4 5 6 7
| void permute (int *a, int *b)
{
int s;
s= *a;
*a=*b;
*b=s;
} |
Voici une proposition de programme proposée :
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
| #include <stdio.h>
//prototypage de fonctions
void permute (int *a, int *b);
//definition de la structure
typedef struct Entier Entier;
struct Entier {
int *n1;
int *n2;
int *n3;
int *n4;
};
//point d'entrée
int main () {
struct Entier liste;
printf ("\n rentrez un entier :");
scanf("%d",n1);
printf ("\n rentrez un entier :");
scanf("%d",n2);
printf ("\n rentrez un entier :");
scanf("%d",n3);
printf ("\n rentrez un entier :");
scanf("%d",n4);
permute (liste.n1,liste. n2);
permute (liste.n3,liste.n4);
printf("\n nouvel ordre : %d %d %d %d",liste.n1,liste.n2,liste.n3,liste.n4);
return 0;
}
//definition de la fonction
void permute(int *a, int *b) {
int *tmp;
tmp = a;
a = b;
b = tmp; |
seulement voila : ce programme ne fait pas appel, du moins, pas exactement, à la fonction permute que j'ai définie plus haut.
De plus, j'ai quelques questions :
- pourquoi ne fait-on pas appel à l'opérateur -> si souvent utilisé dans les structures?
en vous remerciant d'avance