Exercice 1
#include #include #include void main() { char *adr_deb,c; int i,imax,compt_e = 0,compt_sp = 0; adr_deb = (char*)malloc(30);/* texte d'au plus 30 caracteres */ /* saisie et rangement du texte */ printf("\nADRESSE DU TEXTE: %p (ATTRIBUEE PAR LE COMPILATEUR)",adr_deb); printf("\nENTRER UN TEXTE: "); for (i=0;((c=getchar())!='\n');i++) *(adr_deb + i) = c; imax = i;/* borne superieure */ /* lecture de la memoire et tri */ for (i=0;i<imax;i++) { c = *(adr_deb+i); printf("\nCARACTERE: %c ADRESSE: %p",c,adr_deb+i); if (c= ='e') compt_e++; if (c= =' ') compt_sp++; } /* resultats */ printf("\nNOMBRE DE e: %2d NOMBRE d'espaces: %2d\n",compt_e,compt_sp); free(adr_deb); printf("\nPOUR CONTINUER FRAPPER UNE TOUCHE "); getch(); }
Exercice 2
#include #include #include void main() { int *adr_deb,*adr_max,i,imax=6,max; adr_deb=(int*)malloc(4*6); printf("\nADRESSE DE BASE: %p (CHOISIE PAR LE PROGRAMMEUR)\n",adr_deb); /* saisie des nombres */ printf("SAISIE DES NOMBRES: \n"); for(i=0;i<imax;i++) { printf("ENTRER UN NOMBRE: "); scanf("%d",adr_deb+i); } /* tri */ max = *adr_deb; adr_max = (int*)adr_deb; for(i=0;i<imax;i++) { if(*(adr_deb+i)>max) { max = *(adr_deb+i); adr_max = adr_deb+i; } } /* resultats */ printf("LE MAXIMUM:%d SON ADRESSE:%p\n",max,adr_max); free(adr_deb); printf("\nPOUR CONTINUER FRAPPER UNE TOUCHE"); getch(); }