Accueil     Soft. MacOSX     Soft. MacOS/PC     PHP     Python     ROMS GBA     TP d'info     DBZ-GT     Martingales     Galeries     Liens     @  

TP 2 Ex:3-4-5

Exercice3:
#include <stdio.h>
#include <math.h>

typedef struct {
float reel;
float imag;
} complexe;

void main(void){
complexe a,b,c;
float f;

/* saisie des 2 complexes. */
printf("Exercice3:\n");
printf("Complexe1:\n partie reel:\n");
scanf("%f",&f);
a.reel=f;
printf("Complexe2:\n partie imaginaire:\n");
scanf("%f",&f);
a.imag=f;
printf("\nComplexe2:\n partie reel:\n");
scanf("%f",&f);
b.reel=f;
printf("Complexe2:\n partie imaginaire:\n");
scanf("%f",&f);
b.imag=f;

/* l'addition des 2 complexes. */
c.reel=a.reel+b.reel;
c.imag=a.imag+b.imag;
printf("\nAddition = %f + %f*i\n",c.reel,c.imag);

/* la multiplication des 2 complexes. */
c.reel=a.reel*b.reel-a.imag*b.imag;
c.imag=a.reel*b.imag+a.imag*b.reel;
printf("\nMultiplication = %f + %f*i\n",c.reel,c.imag);

/* le module du premier complexe. */
f=sqrt(a.reel*a.reel+b.imag*b.imag);
printf("\nModule = %f\n",f);

printf("\nFin.\n");
/* ©2002 All Rights Reserved to www.Software-DS.com 02/02/02 */
}



Exercice4:
#include <stdio.h>
#include <stdlib.h>
/* pour rand() */
#define NB_LIG_MAX 20;
#define NB_COL_MAX 30;

typedef double T_elts;
typedef struct {
int nblig;
int nbcol;
T_elts mat[NB_LIG_MAX][NB_COL_MAX];
} Matrice;

void init(Matrice *a);
int mat_triangulaire(Matrice a);
void affich_iterat(Matrice a);
void affich_recur(Matrice *a,int L,int C);

void main(void){
Matrice m;
int i;
m.nblig=6;
m.nbcol=6;
init(&m);

if (mat_triangulaire(m)==0)
printf("Matrice non-triangulaire.\n");
else
printf("Matrice triangulaire.\n");

printf("\nAffichage iteratif:\n");
affich_iterat(m);
printf("\nAffichage recursif:\n");
affich_recur(&m,0,0);

printf("\nFin.\n");
scanf("%d",&i);
/* ©2002 All Rights Reserved to www.Software-DS.com 02/02/02 */
}


void init(Matrice *a){
/* Question 1 */
int i,j;

for(i=0;i<(*a).nblig;i++)
for(j=0;j<(*a).nbcol;j++)
(*a).mat[i][j]=rand();
}
/* Fin de init */

void affich_iterat(Matrice a){
/* Question 3a */
int i,j;

for(i=0;i<a.nblig;i++){
for(j=0;j<a.nbcol;j++)
printf("%9.2lf ",a.mat[i][j]);
printf("\n");
}
}
/* Fin de affich_iterat */

void affich_recur(Matrice *a,int L,int C){
/* Question 3b */
if (L<(*a).nblig){
printf("%9.2lf ",(*a).mat[L][C]);
if (C==((*a).nbcol-1)){
printf("\n");
affich_recur(a,L+1,0);
}
else
affich_recur(a,L,C+1);
}
}
/* Fin de affich_iterat */

int mat_triangulaire(Matrice a){
/* Question 2 */
int i,j;

for(i=0;i<a.nblig;i++)
for(j=0;j<a.nbcol;j++)
if (j>i) {
if (a.mat[i][j]!=0)
return 0;
}
return 1;
}
/* Fin de mat_triangulaire */



Exercice5:
#include <stdio.h>
#define NBRE_MAX_MONOME 30;

typedef struct typemonome{
int degre;
double coef;
} Type_Monome;
typedef struct poly{
int nbre_monome;
Type_Monome monome[NBRE_MAX_MONOME];
} Polynome;

double plus_grd_coeff(Polynome p);
double valeur(Polynome p,double x);
double expo(double x,int n);
/* on utilise les acquis de l'exercice 2 ! */
void derive(Polynome p,Polynome *p2);
void addition(Polynome p1,Polynome p2,Polynome *p3);

void main(void){
Polynome p,p2;
double x;
int i;

p.nbre_monome=13;
for(i=0;i<=p.nbre_monome;i++){
p.monome[i].degre=i;
p.monome[i].coef=0;
}
p.monome[2].coef=13;
p.monome[4].coef=-3.9;
p.monome[7].coef=15.2;
p.monome[13].coef=-5;

printf("\nLe plus grand coeff est : %2.2lf\n",plus_grd_coeff(p));

printf("Calcul de P(x) pour x=\n");
scanf("%lf",&x);
printf("\nP(%2.2lf)= %2.2lf\n",x,valeur(p,x));

printf("\nCalcul de la derivee:\n\n");
derive(p,&p2);
for(i=0;i<=p2.nbre_monome;i++){
printf("%2.2lf*x^%d + ",p2.monome[i].coef,i);
}
printf("\n");


printf("\nFin.\n");

/* ©2002 All Rights Reserved to www.Software-DS.com 03/02/02 */
}


double plus_grd_coeff(Polynome p){
/* Question 2 */
int i;
double max;

max=p.monome[0].coef;
for(i=1;i<=p.nbre_monome;i++)
if (p.monome[i].coef>max)
max=p.monome[i].coef;

return max;
}
/* Fin de plus_grd_coeff */

double valeur(Polynome p,double x){
/* Question 3 */
int i;
double val;

val=0;
for(i=1;i<=p.nbre_monome;i++)
val+=p.monome[i].coef*expo(x,i);

return val;
}
/* Fin de valeur */

double expo(double x,int n){
/* Voir l'exercice 2 ! */
if (n==0)
return 1;
else if ((n%2)==0)
return expo(x*x,n/2);
else
return x*expo(x,n-1);
}
/* Fin de expo */

void derive(Polynome p,Polynome *p2){ /* Question 4 */
int i;

(*p2).nbre_monome=p.nbre_monome-1;
for(i=0;i<p.nbre_monome;i++){
(*p2).monome[i].degre=i;
(*p2).monome[i].coef=p.monome[i+1].coef*p.monome[i+1].degre;
/* On peut aussi ecrire: (*p2).monome[i].coef=p.monome[i+1].coef*i; */
}
}
/* Fin de derive */

void addition(Polynome p1,Polynome p2,Polynome *p3){
int i;

if (p1.nbre_monome<p2.nbre_monome)
(*p3).nbre_monome=p2.nbre_monome;
else
(*p3).nbre_monome=p1.nbre_monome;

for(i=0;i<p1.nbre_monome;i++){
(*p3).monome[i].degre=i;
(*p3).monome[i].coef=p1.monome[i].coef;
}
for(i=0;i<p2.nbre_monome;i++){
(*p3).monome[i].degre=i;
(*p3).monome[i].coef+=p2.monome[i].coef;
}

}
/* Fin de derive */





Haut de la page - Page précédente - Page générée en 0.00381 sec.
Recherche personnalisée
 

1843900 visiteurs.   ©2001-2023 All Rights Reserved to Software-DS.com
Made with a mac  
Confidentialité