Vous êtes sur la page 1sur 3

Page 1 of 3

Programmation Procédurale
langage C
TD-5
Exercice 1

#define TAILLE 10
void initialiser(float T[TAILLE], int longueur);
void afficher(float T[TAILLE], int longueur);
int existe(float T[TAILLE], int longueur, int valeur, int *
index);
int ex2();

void initialiser(float T[TAILLE], int longueur){


float * pcourant;
int i = 0;
for ( pcourant = T; pcourant < T + longueur; pcourant++)
{
i++;
printf("Donner l element numero %d: ", i);
scanf("%f", pcourant);
//*pcourant = ;
}
}

void afficher(float T[TAILLE], int longueur){


float * pcourant;
for ( pcourant = T; pcourant < T + longueur; pcourant++)
{
printf("%.2f ", *pcourant);
}
printf("\n");
}

int existe(float T[TAILLE], int longueur, int valeur, int*


index){
float * pcourant;
int i = 0;
for ( pcourant = T; pcourant < T + longueur; pcourant++)
{
if (*pcourant == valeur){
*index = i;
return 1;
}
i++;
}
return -1;

© Ichrak Amdouni Programmation Procédurale et Langage C Eniso 2020-2021


Page 2 of 3

int ex1(){
float T[TAILLE];
int longueur = sizeof(T)/sizeof(float) ; //5;TAILLE
printf("longueur : %d", longueur);

initialiser (T, longueur);


afficher (T, longueur);
float cher = 6;
int* index = (int *) malloc(sizeof(int));
if (existe(T, longueur, cher, index) > 0 ) //if (existe(T,
longueur, cher, &index) > 0 )
printf("Element existant dans indice : %d", *index);
else
printf("Element non existant");
return 0;

Exercice 2
#include <stdlib.h>
#include <string.h>

/*char * nombre_espaces(char* s, int * cpt){


//int cpt = 0;
s = strchr(s,' ');
while(s != NULL){
s++;
cpt++;
s = strchr(s,' ');
}
printf("a la fin s = %s \n", s);
return s;
}
*/
//int nombre_espaces(char s[]){, ok also if we define the function
with char[]
int nombre_espaces(char* s){
int cpt = 0;
s = strchr(s,' ');
while(s != NULL){
s++;
cpt++;
s = strchr(s,' ');
}
printf("a la fin s = %s \n", s); //null as it is incremented
return cpt;
}
void ex2(){
//char * s = "Une phrase contenant des mots";
char s[] = "un autre exemple"; //it is ok too
int l = nombre_espaces(s);
printf("nbre d'espaces dans [%s] est %d", s, l);

© Ichrak Amdouni Programmation Procédurale et Langage C Eniso 2020-2021


Page 3 of 3

Exercice 3:
struct abonne {
char nom[30];
char tel[20];
};
#define NBR_ABON 4

void ex3(){

struct abonne *repertoire[NBR_ABON], individu;


int i, j;
// initialisation
i = 0; // nombre d abonnes qu on va rentrer
do {
printf("\nNom : ");
scanf("%s", individu.nom);
if (individu.nom[0] != '#')
{
printf("Telephone : ");
scanf("%s", individu.tel);
repertoire[i] = (struct abonne *) malloc(sizeof(struct
abonne));
// OU repertoire[i] = (struct abonne *)
malloc(sizeof(individu));
*(repertoire[i]) = individu;
i++;
}
} while ((individu.nom[0] != '#') && (i < NBR_ABON));

// affichage
printf("Affichage \n:");
for (j = 0; j < i; j++)
printf("%s : %s\n", repertoire[j]->nom, repertoire[j]->tel);

© Ichrak Amdouni Programmation Procédurale et Langage C Eniso 2020-2021

Vous aimerez peut-être aussi