Changement de deux valeur Ecrire un algorithme qui veut permet d’échanger les valeurs de deux entiers A et B et quelque soit leur Contenu près a lors Solution : #include #include int main(int argc, char *argv[]) { int a,b,x; printf("\n\n"); printf("-----------------Changement des valeur entre 2 variable---------------"); printf("\n\n"); printf("Entrez la valeur de A :"); scanf("%d",&a); printf("Entrez la valeur de B :"); scanf("%d",&b); printf("\n"); x=a; a=b; b=x; printf("la nouvelle valeur de A est : %d\n",a); printf("la nouvelle valeur de B est : %d\n",b); system("PAUSE"); return 0; }
Caluler la Surface Ecrire un algorithme qui veut permet de calculer la surface d’un cercle rayon R. Solution : #include #include int main(int argc, char *argv[]) { double rayon,surface; const pi=3.14159; printf("\n"); printf("----------------------Calculer Surface du Cercle de Rayon----------------------"); printf("\n\n"); printf("Entrez la valeur de rayon :"); scanf("%lf",&rayon); surface=(double)pi*rayon*rayon; printf("la surface du cercle du rayon %lf est : %lf \n",rayon,surface); system("PAUSE"); return 0; }
Calculer TTC : Ecrire un algorithme qui lit le prix hortax d’un article et le taux de TVA et qui fournit le prix Total TTC Correspendant . Solution : #include #include
int main() { double pht,tva,ttc; int N; printf("Entrez le prix hors taxes :"); scanf("%lf",&pht); printf("Entrez le nombre d'article :"); scanf("%d",&N); printf("Entrez le taux de TVA :"); scanf("%lf",&tva); ttc=N*(pht+(pht*tva)); printf("le prix total correspendant est : %lf\n",ttc); system("pause"); return 0; }
Le plus petit de 2 nombre : Ecrire un algorithme qui veut permet de determiner le plus petit de deux entiers A et B . Solution : #include #include int main(int argc, char *argv[]) { int a,b; printf("Entrez le nombre A : "); scanf("%d",&a); printf("Entrez le nombre B : "); scanf("%d",&b); if (a>b) { printf("Le plus petit des deux nombre %d et %d est : %d \n\n",a,b,b); } else if (b==a) { printf("%d et %d sont Egaux\n\n",a,b); } else { printf("Le petit des deux nombre %d et %d est : %d\n\n",a,b,a); } system("PAUSE"); return 0; }
Equation 1 er Degree : Ecrire un algorithme qui veut permet de resoudre l’equation de 1 ere Degree ax + b =0 . Solution : #include #include int main(int argc, char *argv[]) { double a,b,x; printf("Entrez la valeur de A :"); scanf("%lf",&a); printf("Entrez la valeur de B :"); scanf("%lf",&b); if (a!=0) { x=(-(b/a)); printf("La solution est : %lf \n\n",x); } else if (b==0) { printf("La solution est R \n\n"); } else { printf("Pas de solution\n\n"); } system("PAUSE"); return 0;}
Equation 2 eme
Degree :
Ecrire un algorithme qui veut permet de resoudre l’equation de 2 ere Degree ax ² + bx + C = 0 . Solution : #include #include #include int main(int argc, char *argv[]) { double a,b,c,x,x1,x2,X,e,delta; printf("Entrez la valeur de A :"); scanf("%lf",&a); printf("Entrez la valeur de B :"); scanf("%lf",&b); printf("Entrez la valeur de C :"); scanf("%lf",&c); delta=((b*b)-(4*a*c)); e = sqrt(delta); if (a==0) { if (b!=0) { x=-c/b; printf("La solution est : %lf \n\n",x); } else if (c==0) {
printf("La solution est R \n\n"); } else { printf("Pas de solution\n\n"); } delta=((b*b)-(4*a*c)); } else if (delta>0) { x1=(((-b)+e)/(2*a)); x2=(((b)-e)/(2*a)); printf("La solution est :%lf et %lf\n\n",x1,x2); } else if (delta=0) { X=((-b)/(2*a)); printf("La solution est : %lf\n\n",X); } else { printf("Pas de solution\n\n"); } system("PAUSE"); return 0; }
Calculer la moyenne Generale : Ecrire un algorithme demande a l’utilisateur d’entrée 3 matières avec leur coefficients et Calculer la moyenne général et afficher un message selon la moyen général . Le candidat et admis si Mg > 12 Le candidat passe a l’orale si
10 < Mg < 12
Le candidat n’est pas admis si Mg < 10 Solution : #include #include int main(int argc, char *argv[]) { double M1,M2,M3,L1,L2,L3,MG; printf("Entrez la moyenne 1 : "); scanf("%lf",&M1); printf("Entrez sa coficients :"); scanf("%lf",&L1); printf("Entrez la moyenne 1 : "); scanf("%lf",&M2); printf("Entrez sa coficients :"); scanf("%lf",&L2); printf("Entrez la moyenne 1 : "); scanf("%lf",&M3); printf("Entrez sa coficients :"); scanf("%lf",&L3); MG=(((M1*L1)+(M2*L2)+(M3*L3))/(L1+L2+L3));
if (MG<10)
{ printf("Le candidat n'est pas admis\n\n"); } else if (MG<=12) { printf("Le candidat passe a l'orale\n\n"); } else { printf("Le candidat est admis\n\n"); }
system("PAUSE"); return 0; }
Factorielle : Ecrire un algorithme qui demande un nombre de depart et qui Calcul ca factorielle . Solution :
#include #include int main() { int x,f,i; printf("\n"); printf("-------------------------------La Factorielle----------------------------------"); printf("\n\n"); printf("Entrez un nombre :"); scanf("%d",&x); printf("\n"); f=1; for(i=1;i<=x;i++) { f*=i; } printf("la factorielle de %d est : %d\n\n",x,f); system("PAUSE"); return 0; }
La puissance : Ecrire un algorithme qui veut permet de calculer la puissance nombre donnée . Solution : #include
d’un
#include int main() { int i,p,x,n; printf("\n"); printf("-------------------------------La Puissance------------------------------------"); printf("\n\n"); printf("Entrez le nombre :"); scanf("%d",&x); printf("\n"); printf("Entrez la puissance :"); scanf("%d",&n); printf("\n"); p=1; for(i=1;i<=x;i++) { p*=x; } printf("%d a la puissance %d est : %d\n\n",x,n,p);
system("PAUSE"); return 0; }
Calculer Remise : Ecrire un algorithme qui veut permet de lire la suite des Prix (en dirham et terminer par 0 ) des achats d’un client , Calculez la sommes s’il doit , Lire la somme qu’il paye , et Singulier la remise de la money en affichant 10 drh , 5 drh , 1 drh . Solution :
#include #include int main(int argc, char *argv[]) { int s,prix,p,remise,reste,NB10,NB5,NB1; s=0; printf("Entrer le prix :"); scanf("%d",&prix); while (prix != 0 ) { s+=prix; printf("Entrer le prix suivant :"); scanf("%d",&prix); } printf("Vous-devez %d DH\n\n",s); printf("Entrer la somme que vous devez donner :"); scanf("%d",&p); remise=p-s; NB10=0;NB1=0;NB5=0; while (remise>=10) { remise=remise-10; NB10=NB10+1; } if (remise>=5) { NB5=1; remise=remise-5;
NB1=remise; } else { NB1=remise; } printf("la monnaie a rendre est : %d 10DH \n\n",NB10); printf("la monnaie a rendre est : %d 5DH \n\n",NB5); printf("la monnaie a rendre est : %d 1DH \n\n",NB1); system("PAUSE"); return 0; }
Calculer le Produit : Ecrire un algorithme qui Saisie des entiers et en a fiche la somme et la moyenne (on arrête la saisie avec la valeur 0). Solution : #include #include int main(int argc, char *argv[]) { int N,s,p,i; double moy; s=0; i=0; p=1; do {
printf("Entrer un nombre non nuls :"); scanf("%d",&N); if (N<0 || N>9) { printf("\a\a\a\a"); printf("Entrer un autre nombre entre 0 et 9 :"); scanf("%d",&N); } else { s+=N; p*=N; i++; } } while (N != 0); moy=(double)s/i; printf("la somme est :%d",s); printf("le produit est :%d",p); printf("la moyenne est :%lf",moy); system("PAUSE"); return 0;
Produit de deux nombre :
Ecrire un algorithme qui donne 2 nombre a l’utilisateur et qui l’informe ensuite selon produit et négatif ou positif on ne doit pas Calculer le produit . Solution : #include #include int main() { double A,B; printf("Entrez la valeur de A :"); scanf("%lf",&A); printf("Entrez la valeur de B :"); scanf("%lf",&B); if (A>0 && B>0 || A<0 && B<0) { printf("le produit est positif\n"); } else if (A==0 || B==0) { printf("le produit est nul\n"); } else { printf("le produit est negatif\n"); } system("pause"); return 0; }
Service Prix
de Bibliothèque :
Le service de prix de la bibliothèque a adopte le règlement suivant tout les lecteurs de la catégorie : A peuvent emprinte des livre pour une durée maximal Jours .
de 20
B ne peut pas accéder 30 Jours. C peuvent conserver des Volu pendant 45 Jours. Aucun lecteur ne pera avoir Can présentions plus de 5 ouvrage et ce la quelque soit catégorie traduit ce règlement sous la forme d’un algorithme . Solution : #include #include int main() { int N; char Cat; if (N<5) { printf("Entrez la Categorie :"); scanf("%s",&Cat); switch (Cat) { case 'A' :printf("Duree max de 20 Jours\n"); break; case 'B' :printf("Duree max de 30 Jours\n"); break; case 'C' :printf("Duree max de 45 Jours\n"); break; default :printf("Saisie errone\n");
break; } N++; } else { printf("Vous n'avez pas le droit \n"); } system("pause");
Ecrivez un programme qui lit N nombres entiers au clavier et qui affiche leur somme, leur produit et leur moyenne. Choisissez un type approprié pour les valeurs à afficher. Le nombre N est à entrer au clavier. Résolvez ce problème, a) en utilisant while, b) en utilisant do - while, c) en utilisant for. d) Laquelle des trois variantes est la plus naturelle pour ce problème? Solution : en utilisant for. #include #include int main(int argc, char *argv[]) { system("color 0C"); int p,s,nbr,i,n; double b; printf("Entrez le nombre des valeur : "); scanf("%d",&nbr);
s=0; p=1; for(i=1;i<=nbr;i++) { printf("Entre le nombre :"); scanf("%d",&n); s+=n; p*=n; } printf("la somme est : %d\n",s); printf("le produit est : %d\n",p); b=(double)s/nbr; printf("la moyenne est : %lf\n",b); system("PAUSE"); return 0; } en utilisant while, i=1; while (i<=nbr) { printf("Entre le nombre :"); scanf("%d",&n); s+=n; p*=n; i++; } printf("la somme est : %d\n",s);
printf("le produit est : %d\n",p); b=(double)s/nbr; printf("la moyenne est : %lf\n",b);*/ system("PAUSE"); return 0; } en utilisant do - while, #include #include int main(int argc, char *argv[]) { system("color 0C"); int p,s,nbr,i,n; double b; printf("Entrez le nombre des valeur : "); scanf("%d",&nbr); s=0; p=1; i=1; do { printf("Entre le nombre :"); scanf("%d",&n); s+=n; p*=n; i++; } while (i<=nbr);
printf("la somme est : %d\n",s); printf("le produit est : %d\n",p); b=(double)s/nbr; printf("la moyenne est : %lf\n",b); system("PAUSE"); return 0; }
Maximun d’un tableau : Ecrire un algorithme qui veut permet de determiner le plus grand element d’un tableau ainsi qui sa position . Solution : #include #include int main() { int tab[5]; int
max,i,p;
printf("Entrez le nombre 1:"); scanf("%d",&tab[1]); max=tab[1]; p=1; for(i=2;i<=5;i++) { printf("Entrez le nombre suivant :"); scanf("%d",&tab[i]); if (tab[i]>max) { max=tab[i];
p=i; } } printf("le maximun des valeur est : %d\n",max); printf("la position des valeur maximun est : %d\n",p); system("PAUSE"); return 0;}
Insérer un élément dans un tableau : Ecrire un algorithme qui veut permet d’insérer un élément X entier par l’utilisateur à la position i du tableau . Solution : #include #include int main() { int t[5],i,j,p,N,x; printf("Entrez la dimension de tableau :"); scanf("%d",&N); for(i=0;i
scanf("%d",&p); N++; for(i=N-1;i>p;i--) { t[i]=t[i-1]; } t[p]=x; for(i=0;i #include int main() { int t[5],i,j,p,N,x; printf("Entrez la dimension de tableau :"); scanf("%d",&N);
for(i=0;i
Tris a Bulle : #include #include int main() { int t[50],i,j,x,N,p,inver; printf("\n");
printf("Entrez la dimension de tableau :"); scanf("%d",&N); printf("\n"); for(i=0;it[i+1]) { x=t[i+1]; t[i+1]=t[i]; t[i]=x; inver=1; } } } while (inver==i); printf("\tApres le triee\n"); for(i=0;i
system("pause"); return 0; } Tris par Permutation : #include #include int main() { int t[50],i,j,x,N; printf("\n"); printf("Entrez la dimension de tableau :"); scanf("%d",&N); printf("\n"); for(i=0;i
j--;
} while ( j!= 0 && t[j-1]>=t[j]); } } printf("\tApres le triee\n");
for(i=0;i
Tris par Comptage : #include #include int main ( int argc,char*argv[]) { int i,j,t[5],cpt,nbr[5],pos[5]; for (i=0;i<=4;i++) { printf("entrer une valeur \n");
scanf("%d",&t[i]); } for(i=0;i<=4;i++) { nbr[i]=0; pos[i]=0; for(j=0;j<=4;j++) { if(t[j]
Ecrire un programme qui effectue la multiplication de deux matrices A et B. Le résultat de la multiplication sera mémorisé dans une troisième matrice C qui sera ensuite affichée.
Solution : #include #include int main() { int mat[10][10],t[10][10],i,j,n,m,a; printf("Entrez le nombre des ligne :"); scanf("%d",&n); printf("Entrez le nombre des collones :"); scanf("%d",&m); for(i=0;i
printf("\n"); } printf("Entrez le nombre que vous-voulez multiplier :"); scanf("%d",&a);
for(i=0;i
} Transposition d'une matrice
Ecrire un programme qui effectue la transposition tA d'une matrice A de dimensions N et M en une matrice de dimensions M et N.
Solution : #include #include main() { /* Déclarations */ int A[5][5]; /* matrice initiale */ int B[5][5]; /* matrice résultat */ int N, M;
/* dimensions des matrices */
int i, j; /* Saisie des données */ printf("Entrez le Nombre de lignes : "); scanf("%d",&N ); printf("Entrez le Nombre de colonnes : "); scanf("%d",&M ); for (i=0; i
{ for (j=0; j
Multiplication d'une matrice par un réel : Ecrire un programme qui réalise la multiplication d'une matrice A par un réel X.
Solution : #include
#include int main() { int mat[10][10],t[10][10],i,j,n,m,a; printf("Entrez le nombre des ligne :"); scanf("%d",&n); printf("Entrez le nombre des collones :"); scanf("%d",&m); for(i=0;i
for(i=0;i
Addition de deux matrices : Ecrire un programme qui réalise l'addition de deux matrices A et B de mêmes dimensions N et M.
Solution : #include #include
main() { /* Déclarations */ int A[5][5]; /* matrice donnée */ int B[5][5]; /* matrice donnée */ int C[5][5]; /* matrice résultat */ int N, M; int i,j;
/* dimensions des matrices */ /* indices courants */
/* Saisie des données */ printf("Entrez le Nombre de lignes : "); scanf("%d", &N ); printf("Entrez le Nombre de colonnes : "); scanf("%d", &M ); printf("*** Matrice A ***\n"); for (i=0; i
scanf("%d", &B[i][j]); } /* Affichage des matrices */ printf("Matrice donnée A :\n"); for (i=0; i
printf("%7d", C[i][j]); printf("\n"); } system("pause"); return 0; }
Triangle de Pascal : Ecrire un programme qui construit le triangle de PASCAL de degré N et le mémorise dans une matrice carrée P de dimension N+1.
Solution : #include #include int main() { int t[20][20]; int i,j,a; do { printf("Entrez le degree de triangle de pascal :"); scanf("%d",&a); } while (a<1 || a>13); for(i=0;i<=a;i++) { t[i][0]=1; t[i][i]=1;
for(j=1;j
for(j=0;j<=i;j++) { printf("%5d",t[i][j]); } printf("\n"); } system("pause"); return 0; }
Traingle : Affichez un triangle isocèle formé d'étoiles de N lignes (N est fourni au clavier):
Nombre de lignes : 8 * *** *****
******* ********* *********** ************* *************** Solution : #include #include int main() { int i,j,k,nbr; printf("Entrez le nombre de ligne :"); scanf("%d",&nbr); for(i=0;i
Nombre de lignes : 8
* *** ***** ******* ********* *********** *************
*************** ************* *********** ********* ******* ***** *** * Solution : #include #include int main() { int i,j,k,nbr; printf("Entrez le nombre de ligne :"); scanf("%d",&nbr); for(i=0;i=0;i--) { printf("\t\t"); for(j=1;j
printf(" "); for(k=nbr/2-i;k<=nbr/2+i;k++) printf("*"); printf("\n"); } system("pause"); return 0; } Inverse Phrase : Ecrire un programme qui lit 5 mots, séparés par des espaces et qui les affiche ensuite dans une ligne, mais dans l'ordre inverse. Les mots sont mémorisés dans 5 variables M1, ... ,M5.
Solution : #include #include #include int main() { char mot[5][20]; char t1[5][100]; int i; for(i=0;i<5;i++) { printf("Entrez le mot %d :",i+1); scanf("%s",mot[i]); }
for(i=0;i<5;i++) { printf("%s ",mot[i]); } printf("\n"); for(i=4;i>=0;i--) { printf("%s ",mot[i]); } system("pause"); return 0; }
Suppr Letrre dans une Phrase : Ecrire un programme qui lit un texte TXT (de moins de 200 caractères) et qui enlève toutes les apparitions du charactère 'e' en tassant les éléments restants. Les modifications se feront dans la même variable TXT.
Solution : #include #include #include int main() { char t[200]; int i,j,k,cpt=0; printf("Entrer un text : "); gets(t);
for(i=0;i
Solution : #include #include #include int main()
{ char verbe[20]; printf("Entrez un verbe :"); gets(verbe); if (verbe[strlen(verbe)-2] != 'e' || verbe[strlen(verbe)-1] != 'r' ) { printf("Ce verbe n'est pas un verbe de 1 ere Groupe"); } else { verbe[strlen(verbe)-2]='\0'; printf("Je %se\n",verbe); printf("Tu %ses\n",verbe); printf("Il %se\n",verbe); printf("Nous %sons\n",verbe); printf("Vous %sez\n",verbe); printf("Ils %sent\n",verbe); } system("pause"); return 0; }
Ecrire un programme qui demande l'introduction du nom et du prénom de l'utilisateur et qui affiche alors la longueur totale du nom sans compter les espaces. Employer la fonction strlen. Exemple:
Introduisez votre nom et votre prénom: Mickey Mouse
Bonjour Mickey Mouse ! Votre nom est composé de 11 lettres.
Solution : #include #include #includeint main() { char nom[20]; int i,nbr; printf("Entrez Vitre Nom et Prenom :"); gets(nom); printf("Bonjour %s !\n",nom); nbr=0; for(i=0;i Min
Min->Majus :
Ecrire Un Algorithme Qui permet de convertir une phrase de muniscul en majuscul et Vice Verca
Solution :
#include #include #include #include int main() { char phrase[30]; int i; printf("Entrez une phrase :"); gets(phrase); for(i=0;i
Ecrire un programme se servant d'une fonction MOYENNE du type float pour afficher la moyenne arithmétique de deux nombres réels entrés au clavier.
Solution : #include #include int main() { double moy (double a,double b); double a,b; printf("Entrez la valeur de A :"); scanf("%lf",&a); printf("Entrez la valeur de B :"); scanf("%lf",&b); printf("la moyenne de %.3lf et %.3lf est : %.3lf\n",a,b,moy(a,b)); system("pause"); return 0; }
double moy (double a,double b) { double m; m=(a+b)/2; return m; } Fonction X^n : Ecrire deux fonctions qui calculent la valeur XN pour une valeur réelle X (type double) et une valeur entière positive N (type int) :
a) EXP1 retourne la valeur XN comme résultat. b) EXP2 affecte la valeur XN à X. Ecrire un programme qui teste les deux fonctions à l'aide de valeurs lues au clavier.
Solution :
Max – Min : Ecrire une fonction MIN et une fonction MAX qui déterminent le minimum et le maximum de deux nombres réels. Ecrire un programme se servant des fonctions MIN et MAX pour déterminer le minimum et le maximum de quatre nombres réels entrés au clavier.
Solution : #include #include int main() { double min(double X,double Y); double max(double X,double Y); double a,b,c,d; printf("Entrez le nombre 1 :"); scanf("%lf",&a); printf("Entrez le nombre 2 :"); scanf("%lf",&b); printf("Entrez le nombre 3 :"); scanf("%lf",&c); printf("Entrez le nombre 4 :"); scanf("%lf",&d); printf("le maximun est : %.3lf \n",max(max(a,b),max(c,d)));
printf("le minumun est : %.3lf \n",min(min(a,b),min(c,d))); system("pause"); return 0; } double min(double X, double Y) { if (X
double max(double X, double Y) { if (X>Y) { return X; } else { return Y; }
} Fonction F(x) : Ecrire un programme se servant d'une fonction F pour afficher la table de valeurs de la fonction définie par f(x) = sin(x) + ln(x) où x est un entier compris entre 1 et 10.
Solution : #include #include #include int main() { double f(int X); int X,i; for(i=0;i<=10;i++) { printf("X = %d \t\t F(%d)=%.3lf\n",i,i,f(i)); } system("pause"); return 0; } double f(int X) { double p; p=sin(X)+log(X)-sqrt(X); return p; }
Nombre des valeur dans un nombre : Ecrire la fonction NCHIFFRES du type int qui obtient une valeur entière N (positive ou négative) du type long comme paramètre et qui fournit le nombre de chiffres de N comme résultat. Ecrire un petit programme qui teste la fonction NCHIFFRES: Exemple: Introduire un nombre entier : 6457392 Le nombre 6457392 a 7 chiffres.
Solution : #include #include int main() { int NCHIFFRES(int N); int f(int N); int N; printf("Entre un nombre :"); scanf("%d",&N); printf("Le nombre %d a %d chiffres.",N,NCHIFFRES(N)); system("pause");
return 0; }
int NCHIFFRES(int N) { int i; i=1;
while (N>=10) { N/=10; i++; } return i; } fonction ECRIRE_TAB Ecrire la fonction ECRIRE_TAB à deux paramètres TAB et N qui affiche N composantes du tableau TAB du type int. Exemple: Le tableau T lu dans l'exemple ci-dessus sera affiché par l'appel : ECRIRE_TAB(T, N); et sera présenté comme suit: 43 55 67 79
Solution : void ECRIRE_TAB(int tab[],int N) { int i; for(i=0;i
Solution : int SOMME_TAB(int tab[],int N) { int s; int i; s=0; for(i=0;i
Programme Principal :(fonction ECRIRE_TAB && fonction SOMME_TAB) A l'aide des fonctions des exercices précédents, écrire un programme qui lit un tableau A d'une dimension inférieure ou égale à 100 et affiche le tableau et la somme des éléments du tableau. Solution : #include #include
int main() { void ECRIRE_TAB(int tab[],int N); int SOMME_TAB(int tab[],int N); int tab[20],N;
int i;
printf("Entrez la dimension de tableau :"); scanf("%d",&N);
for(i=0;i
ECRIRE_TAB(tab,N); printf("\n"); printf("la somme est : %d\n",SOMME_TAB(tab,N));
system("pause"); return 0; }
void ECRIRE_TAB(int tab[],int N) {
int i;
for(i=0;i
printf("%4d",tab[i]); } }
int SOMME_TAB(int tab[],int N) {
int s; int i; s=0;
for(i=0;i
Fonction Factoriell : En mathématiques, on définit la fonction factorielle de la manière suivante: 0! = 1 n! = n*(n-1)*(n-2)* ... * 1 (pour n>0) Ecrire une fonction FACT du type double qui reçoit la valeur N (type int) comme paramètre et qui fournit la factorielle de N comme résultat. Ecrire un petit programme qui teste la fonction FACT.
Solution :
#include #include int main() {
double fat(int N); int N;
int i;
printf("Entrez la valeur de N :"); scanf("%d",&N);
printf("\n"); printf("la Factorielle de %d est : %.3lf\n",N,fat(N));
system("pause"); return 0; }
double fat(int N) { double f=1; int i; for(i=1;i<=N;i++) {
f*=i; } return f; }