0% ont trouvé ce document utile (0 vote)
75 vues20 pages

TPC

Transféré par

kozansoraya
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
75 vues20 pages

TPC

Transféré par

kozansoraya
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

EX1:

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

typedef struct complex {

double x,y ;

}complex;

double real (complex *z){

return (*z).x;

double imag (complex *z){

return (*z).y;

double abs(complex *z)

return sqrt((*z).x * (*z).x+ (*z).y * (*z).y);

complex mul(complex *z1, complex *z2){

complex result;

(result).x= (*z1).x* (*z2).x-(*z1).y* (*z2).y;

(result).y= (*z1).x* (*z2).y+(*z1).y* (*z2).x;

return result;

int main ()

complex result,z1,z2;

double abs1,abs2;

scanf("%lf %lf",&z1.x,&z1.y);

scanf("%lf %lf",&z2.x,&z2.y);

printf("multiplication: %.2lf + %.2lfi\nvaleurs absolus :\nabs1= %.2lf\tabs2= %.2lf ", mul(&z1,&z2).x, mul(&z1,&z2).y, abs(&z1), abs(&z2));

return 0;

}
EX2:
#include <stdio.h>

#include <stdlib.h>

#include <string.h>

typedef struct panneau{

double l,L,e;

char type[20];

}panneau;

panneau saisie ( )

panneau P;

int code;

printf("entrer la largeur la longuer et l'epaisseur du panneau et le type:");

scanf("%lf %lf %lf %d", &P.l,&P.L,&P.e,&code);

switch (code){

case 0: strcpy(P.type,"PIN");

break;

case 1: strcpy(P.type, "CHENE");

break;

case 2: strcpy(P.type,"HETRE");

break;

default: strcpy(P.type,"INCONNU");

break;

return P;

void afficher (panneau P)

{ printf("le panneau P:\n");

printf("largeur: %lf\tlongueur: %lf\tepaisseur: %lf\ttype: %s\n",P.l,P.L,P.e,P.type);

double volume(panneau P){

double v= P.l*P.L*P.e ;

return v;

int main ()

{ panneau P;

P=saisie ();

afficher(P);

printf("v= %lf m", volume(P));

return 0;}
EX3:
#include <stdio.h>

#include <stdlib.h>

#include <string.h>

typedef struct Produit {

double prix;

int quantite, reference;

char type[20];

}Produit;

Produit saisie (){

int code;

Produit P;

printf("entrer mes données du produit: ");

scanf("%lf %d %d %d", &P.prix,&P.reference,&P.quantite,&code );

switch (code){

case 1: strcpy(P.type,"Carte mère");

break;

case 2: strcpy(P.type, "Processeur");

break;

case 3: strcpy(P.type,"Barète mémoire");

break;

case 4: strcpy(P.type, "carte graphique");

break;

default: strcpy(P.type,"INCONNU");

break;

return P;

void afficher (Produit P){

printf("le produit P:\n");

printf("prix: %lf\tréference: %d\tquantité: %d\ttype: %s\n", P.prix,P.reference,P.quantite,P.type);

void commande() {

Produit P ;

printf("donner la quantité : ");

scanf("%d",&P.quantite);

printf ("saisir le type du produit ( Processeur , Barète mémoire ...): ");

scanf("%s",P.type);

afficher(P);

int main ()

Produit P;

P=saisie ();

commande();

return 0;}
EX4:
#include <stdio.h>
#include <stdlib.h>

#include <string.h>

typedef struct date {

char mois[13];

int jour, annee;

}date;

typedef struct employe {

char nom[15],prenom[15];

date dn , de;

}employe;

employe saisie (){

employe E;

printf("Nom: ");

fflush(stdin);

gets (E.nom);

printf("Prenom: ");

fflush(stdin);

gets(E.prenom);

printf("date de naissance: ");

scanf("%d %19s %d",&E.dn.jour,&E.dn.mois,&E.dn.annee);

printf("date d'embauche: ");

scanf("%d %19s %d",&E.de.jour,&E.de.mois,&E.de.annee);

return E;

void afficher (employe E){

printf("Nom: %s\tPrenom: %s\tdn: %d %s %d\tde: %d %s %d\n",E.nom,E.prenom,E.dn.jour,E.dn.mois,E.dn.annee,E.de.jour,E.de.mois,E.de.annee);

int main ()

employe E[4];

int i;

for (i=0;i<4;i++){

printf("entrer les donnees de %d employe\n", i+1);

E[i]=saisie();

for (i=0;i<4;i++)

printf("le %d employe :\n",i+1);

afficher(E[i]);

return 0;

}
EX5:

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

typedef struct etudiant {

char nom[15],prenom[15];

int CNE;

float notes[4], moyenne;

}etudiant;

etudiant saisie (){

etudiant E;

int i;

E.moyenne=0;

printf("Nom: ");

fflush(stdin);

gets (E.nom);

printf("Prenom: ");

fflush(stdin);

gets(E.prenom);

printf("CNE: ");

scanf("%d",&E.CNE);

for (i=0;i<4;i++){

printf("note %d: ",i+1);

scanf("%f",&E.notes[i]);

E.moyenne+=E.notes[i];

E.moyenne/=4;

return E;

void afficher (etudiant E){

int i;

printf("Nom: %s\tPrenom: %s\tmoyenne: %.2f\n",E.nom,E.prenom,E.moyenne);

for (i=0;i<4;i++)

printf("note[%d]: %.2f\n",i,E.notes[i]);

int main ()
{

etudiant E[5],x;

int i,j,max;

for (i=0;i<5;i++)

printf("entrer les donnees de %d etudiant\n", i+1);

E[i]=saisie();

for (i=0;i<4;i++)

max=i;

for (j=i+1;j<5;j++)

if(E[j].moyenne>E[max].moyenne)

max=j;

x=E[i];

E[i]=E[max];

E[max]=x;

for (i=0;i<5;i++)

printf("le %d etudiant: \n",i+1);

afficher (E[i]);

return 0;

}
EX6:
#include <stdio.h>

#include <stdlib.h>

#include <string.h>

typedef struct nb_relationnel

int num,deno;

}nr;

nr saisie ()

nr N;

printf("entrer le num et le deno de votre nr: ");

scanf("%d %d",&N.num,&N.deno);

return N;

void afficher(nr N)

printf("%d/%d",N.num,N.deno);

nr multi(nr N1 , nr N2)

nr p;

p.num=N1.num*N2.num;

p.deno=N1.deno*N2.deno;

return p;

nr add(nr N1 , nr N2)

nr s;

if (N1.deno==N2.deno)

s.num=(N1.num)+(N2.num);

s.deno=N1.deno;

else

s.num=(N1.num*N2.deno)+(N2.num*N1.deno);

s.deno=N1.deno*N2.deno;

return s;

int main ()

{
nr N1,N2;

N1=saisie();

N2=saisie();

printf("N1= ");

afficher(N1);

printf("\tN2= ");

afficher(N2);

printf("\nS= ");

afficher(add(N1,N2));

printf("\tP= ");

afficher(multi(N1,N2));

return 0;

EX7:
#include <stdio.h>

#include <stdlib.h>

int Un(int n)

if (n==1)

return 1;

else

return Un(n-1)+n;

int main ()

int n;

scanf("%d",&n);

printf("la somme de Un= %d", Un(n));

return 0;

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int Un(int n)

if (n==1)

return 1;

else

return Un(pow(n-1,4))+pow(n,4);

}
int main ()

int n;

scanf("%d",&n);

printf("la somme de Un= %d", Un(n));

return 0;

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int fact(int n)

if (n==0)

return 1;

else

return n*fact(n-1);

float cos(int n , float x)

if (n==0 )

return 1;

else

return (pow(-1,n)*pow(x,2*n)/fact(2*n)) + cos(n-1,x) ;

int main ()

int n;

float x;

scanf("%d %f",&n,&x);

printf("Cos(%.2f)= %.2f",x,cos(n,x));

return 0;

#include <stdio.h>

#include <stdlib.h>

#include <math.h>
int fact(int n)

if (n==0)

return 1;

else

return n*fact(n-1);

float exp(int n , float x)

if (n==0 )

return 1;

else

return (pow(x,n)/fact(n)) + (n-1,x) ;

int main ()

int n;

float x;

scanf("%d %f",&n,&x);

printf("exp(%.2f)= %.2f",x,exp(n,x));

return 0;

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

float Xn (int n , float x)

if (x==0 && n==0)

exit(-1);

else

if(x!=0)

if (n==0 )

return 1;

else

return Xn(n-1,x)*x ;

int main ()
{

int n;

float x;

scanf("%d %f",&n,&x);

printf("%.2f^%d= %.2f",x,n,Xn(n,x));

return 0;

EX8:
#include <stdio.h>

#include <stdlib.h>

#include <math.h>

float p(int n , float x )

float A[n];

if (n==1)

return A[0];

else

return p(n-1,x)*x+((A[n])*x + A[n-1]);

int main ()

float x;

int i,n;

printf("n= ");

scanf("%d",&n);

printf("x= ");

scanf("%f",&x);

float A[n];

for (i=0;i<=n;i++)

printf("A[%d]= ",i);

scanf("%f",&A+i);

printf("A%d[%.2f]= %.2f",n,x,p(n,x));

return 0;

#include <stdio.h>

int ackermann(int m, int n) {


if (m == 0) {

return n + 1;

} else if (m > 0 && n == 0) {

return ackermann(m - 1, 1);

} else {

return ackermann(m - 1, ackermann(m, n - 1));

int main() {

int m, n;

printf("Entrez les valeurs de m et n pour la fonction d'Ackermann : ");

scanf("%d %d", &m, &n);

int result = ackermann(m, n);

printf("Ackermann(%d, %d) = %d\n", m, n, result);

return 0;

EX1:
#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int main ( )

FILE* f1;

FILE* f2;

FILE* f3;

FILE* f4;

char car,nom[20],prenom[20],ligne[100];

int i=0 , age;

f1=fopen("source.txt","wt+");

if (f1==NULL)

printf("ouverture impossible");

exit (0);

fprintf(f1,"nom prenom age\nAlaoui Ali 23\nFahmi Naima 20\nHasni Hassan 30\n");


f2=fopen("copie.txt","wt");

if (f2==NULL)

printf("ouverture impossible");

exit (0);

rewind(f1);

while (!feof(f1)) {

car = fgetc(f1);

fputc(car, f2);

i++;

printf("le nombre d'elements est : %d\n",i);

printf("donner le nouveau enregistrement: ");

scanf("%s %s %d",&nom,&prenom,&age);

fprintf(f1,"%s %s %d",nom,prenom,age);

f3=fopen("ajout.txt","wt");

if (f3==NULL)

printf("ouverture impossible");

exit (0);

rewind(f1);

while (!feof(f1))

car = fgetc(f1);

fputc(car, f3);

rewind(f1);

f4=fopen("temp.txt","wt+");

if (f4==NULL)

printf("ouverture impossible");

exit (0);

while (fgets(ligne, sizeof(ligne), f1) )

if (!strstr(ligne, "Hasni"))
{

fprintf(f4, "%s", ligne);

rewind(f4);

while (!feof(f4))

car = fgetc(f4);

printf ("%c",car);

fclose(f1);

fclose(f2);

fclose(f3);

fclose(f4);

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int main ( )

FILE * f1;

int i;

char R[4],C[4],x;

f1=fopen("fichier.txt","wt+");

if (f1==NULL)

printf("ouverture echouee.");

exit(0);

printf("entrer 5 chaines de 3 caracteres: \n");

for(i=0;i<5;i++)

printf("entrer la %d chaine: ",i+1);

gets(C);

fprintf(f1,"%s\t",C);

rewind(f1);

while((x=fgetc(f1))!=EOF)

{
printf("%c",x);

printf("\najouter une chaine de 3 caracteres: ");

gets(C);

fprintf(f1,"%s",C);

rewind(f1);

while((x=fgetc(f1))!=EOF)

printf("%c",x);

rewind(f1);

printf("\ndonner une chaine a rechercher: ");

gets(R);

rewind(f1);

i=0;

while((x=fgetc(f1))!=EOF)

fscanf(f1,"%s",C);

if (strcmp(C,R)==0)

i++;

printf("la chaine existe");

break;

if(i==0)

printf("la chaine n'existe pas");

fclose(f1) ;

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int main()

FILE* f;

int i,n;

char c;

float T[n];

f=fopen("f.txt","rt");

if(f==NULL)

{
printf("ouverture echouee.");

exit(1);

if(fscanf(f,"%d",&n)==1)

for(i=0;i<n;i++)

fscanf(f,"%f",&T[i]);

printf("%.1f\t",T[i]);

fclose(f);

return 0;

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int main(){

FILE *fp;

int i,x,T[3];

fp=fopen("f.txt","wb+");

if (fp==NULL){

printf("le fichier ne souvre pas");

exit(1);

for (i=0;i<3;i++) {

scanf("%d",&T[i]);

fwrite(T,sizeof(T[0]),3,fp);

rewind(fp);

while((fread(&x, sizeof(x), 1, fp) == 1))

printf("%d ",x);

fclose(fp);

return 0;

}
#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int main(){

int x,c=0,A[10],*p1,*p2;

for(p1 = A; p1 < A + 10 ; p1++)

scanf("%d",p1);

for (p1 = A; p1 < A + 10 ; p1++)

printf("%d ", *p1);

printf("\nentrer un entier : ");

scanf("%d",&x);

for(p1 = A , p2 = A ; p1 < A+10 ; p1++ )

if (*p1 != x)

*p2=*p1;

p2++;

c++;

for (p1 = A ; p1 < A + c; p1++)

printf("%d ", *p1);

return 0;

}
#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int main(){

int N,M,i,A[N+M],B[M],*pA,*pB;

printf("entrer N: ");

scanf("%d",&N);

printf("entrer M: ");

scanf("%d",&M);

for(i=0;i<N;i++)

printf("A[i]= ");

scanf("%d",&A[i]);

for(i=0;i<M;i++)

printf("B[i]= ");

scanf("%d",&B[i]);

for(pA=A+N,pB=B ; pA<A+N+M ; pA++)

*pA=*pB;

pB++;

for(pA=A;pA<A+N+M;pA++)

printf("%d\t",*pA);

return 0;

}
#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int somme (int *T,int taille)

int i,s=0;

for(i=0;i<taille;i++)

s+=T[i];

return s;

int main(){

int N,i,T[N];

scanf("%d",&N);

for(i=0;i<N;i++)

printf("T[%d]= ",i+1);

scanf("%d",&T[i]);

printf("\n%d",somme(T,N));

return 0;

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int main()

int i,j,n,o=0;

char T[n+1];

printf("n= ");

scanf("%d",&n);

printf("T= ");

scanf("%s",T);

for (i=0,j=n-1;i<n;i++)

if (T[i]==T[j])

o++;

else

break;

j--;

}
if(o==n)

printf("ce mot est palindrome.");

else

printf("ce mot n'est pas palindrome.");

return 0;

Vous aimerez peut-être aussi