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
| #include <stdio.h>
#include <stdlib.h>
#define maxcol 50
#define maxlig 50
int sym(int*, int);
int saisieDim(char*, int);
int main() {
int j,i,tab[maxlig][maxcol];
int c,l;
int *ptab;
l=saisieDim("ligne", maxlig);
c=saisieDim("colonne", maxcol);
for (i=0, ptab=&tab[0][0]; i<l; i++) {
int *pt;
for (j=0, pt=ptab+i*maxcol; j < c; j++, pt++) {
printf("entre l'element du vecteur [%d] [%d] ",i,j);
scanf("%d",pt);
}
}
for (i=0, ptab=&tab[0][0]; i<l; i++) {
int *pt;
for (j=0, pt=ptab+i*maxcol; j < c; j++, pt++)
printf("[%d\t]",*pt);
printf("\n");
}
if (sym((int*)tab, l))
printf("Le tableau est symetrique ");
else
printf("le tableau n'es pas symetrique ");
return 0;
}
int saisieDim(char *info, int d) {
int v;
do {
printf("entrer un nombre de %s :", info);
scanf("%d", &v);
} while (v < 0 || v > d);
return v;
}
int sym(int *tab, int l) {
int i,j;
for (i=0; i<l; i++, tab+=maxcol-l) {
for (j=i+1, tab+=i+1; j<l; j++, tab++) {
if (*(tab) != *(tab+(maxcol * (j-i))-j+i))
return 0;
}
}
return 1;
} |
Partager