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 :
Voici une proposition de programme proposée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 void permute (int *a, int *b) { int s; s= *a; *a=*b; *b=s; }
seulement voila : ce programme ne fait pas appel, du moins, pas exactement, à la fonction permute que j'ai définie plus haut.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
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
Partager