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
| #include <stdio.h>
#include <stdlib.h>
int main(int argc, char const *argv[])
{
int i=0,j=0,k=0,n=20,*tab=malloc(n*sizeof(*tab));
if (tab==NULL)exit(-1);
int *lire;
int *ecrire;
// remplissage du tableau //
for (i=0, ecrire=tab; i<n; i++, ecrire++) *ecrire=i+1;
// impression tableau initial //
for (i=0, lire=tab; i<n; i++, lire++) printf("%d\n", *lire);
//
puts("\n");
// élimination des éléments impairs du tableau //
lire=tab;
ecrire=tab;
i=0;
j=0;
while (i<n) {
while ((*lire %2) !=0) {
i++;
lire++;
}
*ecrire=(*lire);
lire++;
i++;
ecrire++;
j++;
}
// mise a 0 des éléments impairs restants (pourquoi faire ????)
/// réallocation à j éléments (pourquoi faire ???)
/// résultat : reste les nbs pairs ///
for (k=0, lire=tab; k<j; k++, lire++) printf("%d\n", *lire);
// libération du pointeur //
free(tab);
return 0;
} |
Partager