Bonjour, je suis un étudiant en informatique est comme mentionné dans le titre j'éprouve une difficulté à résoudre un exercice avec les pointeurs et le voici :
Mon raisonement me parait parfaitement logique mais je n'arrive pas trouver la solution si quelqu'un a pourrait m'aider je lui en serais fort reconnaissant...
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
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 #include <stdio.h> #include <stdlib.h> #define maxcol 50 #define maxlig 50 int main() { int j,i,tab[maxlig][maxcol]; int symetrie=0; int c,l; int *ptab; int *pt; int *pt2; int pttab; int k=1; do { printf("entrer un nombre de ligne :"); scanf("%d",&l); }while(l<0 || l>maxlig); do { printf("entrer un nombre de colone :"); scanf("%d",&c); }while(c<0 || c>maxcol); for(i=0,ptab=&tab[0][0];i<l;i++) { pt=ptab+i*maxcol; for(j=0;j<c;j++) { printf("entre l'element du vecteur [%d] [%d] ",i,j); scanf("%d",pt); pt++; } } for(i=0,ptab=&tab[0][0];i<l;i++) { pt=ptab+i*maxcol; for(j=0;j<c;j++) { printf("[%d\t]",*pt); pt++; } printf("\n"); } ptab=&tab[0][0]; for(i=0;i<l;i++) { pt=ptab+(i+1)+i*maxcol; for(j=0;j<c;j++) { pt2=ptab+(i+1)*maxcol+i; if(*pt==*pt2) { pt++; pt2=pt2+maxcol; symetrie=0; } else { symetrie=1; j=n; } } } if(symetrie==0) { printf("le tableau est symetrique "); } else { printf("le tableau n'es pas symetrique"); } return 0; }
Partager