Vous êtes sur la page 1sur 1

Université Ibn Zohr A.U.

2022-2023 /* Tri du tableau */ Exercice 3 (4 pts)


Faculté des Sciences SMI3/LP2I for (i=0; i<N-1; i++)
Département d’Informatique #include<stdio.h>
{PMIN=i; main()
Rattrapage de Prog. I (proposition de solution) for (j=i+1; j<N; j++) {int nbr, a, tmp, somme=0;
if (T[j]< T[PMIN]) PMIN=j; for(nbr=100;nbr<=999;nbr++)
Exercice 1 (4 pts) if(PMIN!=i) { tmp = nbr; somme=0;
#include<stdio.h> {AIDE= T[i];T[i]= T[PMIN];T[PMIN]=AIDE;} while(tmp>0)
#include<string.h> } { a=tmp%10;
main() /* affichage du tableau trié */ somme+=a*a*a;
{ char ch[100]; printf("T trié dans l'ordre croissant : \n"); tmp=tmp/10;
int i,j,PAL=1; for (i=0; i<N; i++) printf("T[%d]= %d \n",i,T[i]); }
printf("Entrez une chaine de caractères:\n"); /* supprimer les répétitions*/ if(nbr==somme) printf(" %d est un nombre
scanf("%s",ch); for(i=0; i< N-1; i++) Armstrong \n",nbr);
for(i=0,j=strlen(ch)-1;i<j;i++,j--) { j=i+1; }
if(ch[i]!=ch[j]) { PAL =0; break; } while(j < N) }
{ if(T[i] == T[j])
{ for(k=j;k<N-1;k++) T[k]=T[k+1]; Exercice 4 (4 pts)
if(PAL ==1) printf("%s est palindrome.\n",ch);
else printf("%s n'est pas palindrome.\n",ch); N--;} #include<stdio.h>
} else main(){
j++; int X,Y,Res=0;
Exercice 2 (8 pts) } do{ printf("Entrez deux entiers strictement
#include <stdio.h> } positifs: ");
#include <time.h> /* affichage du tableau purgé */ scanf("%d %d",&X,&Y);
#define NMAX 20 printf("Le tableau purgé : \n"); }while(X<=0 || Y<=0);
main() for (i=0; i<N; i++) printf("T[%d]= %d \n",i,T[i]); while(X){ /* tant que X est non nul*/
{int T[NMAX]; printf("\n Introduire un nombre M à insérer dans /*si X est impair*/
int N,i,j,k,PMIN,AIDE, M; T: "); if(X%2)
do{ scanf("%d", &M ); {X--; /*on décrémente X*/
printf("Dim du tableau (max.%d) : \n", NMAX); /* Position d'insertion de M */ Res+=Y; /*on rajoute Y au résultat*/
scanf("%d", &N); i=0; printf("=%d * %d + %d\n",X,Y,Res);
}while (N<0 || N>NMAX); while(M>T[i])i++; } /*affichage de résultat intermédiaire*/
/* remplissage par des valeurs paires et <100 */ /* Décalage des éléments > M */ /*Cas X est pair*/
srand(time(NULL)); for(j=N;j>i;j--) T[j]=T[j-1]; Y*=2; X/=2;
for (i=0; i<N; i++) /* insertion de M */ /*affichage de résultat intermédiaire*/
do { T[i]= rand()%100; T[j]=M; if(X) printf("=%d * %d + %d\n",X,Y,Res);
}while(T[i]%2); printf("T après insertion : \n"); }
/* affichage du tableau*/ for (i=0; i<=N; i++) printf("T[%d]= %d \n",i,T[i]);} printf("=%d\n",Res); }
for (i=0; i<N; i++) printf("T[%d]= %d \n",i,T[i]);

Vous aimerez peut-être aussi