0% ont trouvé ce document utile (0 vote)
96 vues2 pages

8 Examen SN 2016-2017 Correction

Le document contient la proposition de correction de 5 exercices d'un examen de programmation I. Les exercices portent sur des sujets comme les nombres parfaits, la recherche d'occurrences d'un chiffre dans un nombre, la fusion de tableaux et la symétrie d'une chaîne de caractères.

Transféré par

hdhdd
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 PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
96 vues2 pages

8 Examen SN 2016-2017 Correction

Le document contient la proposition de correction de 5 exercices d'un examen de programmation I. Les exercices portent sur des sujets comme les nombres parfaits, la recherche d'occurrences d'un chiffre dans un nombre, la fusion de tableaux et la symétrie d'une chaîne de caractères.

Transféré par

hdhdd
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 PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 2

Université Ibn Zohr A.U.

2016-2017 while ((iA<N) && (iB<M))


Faculté des Sciences SMI3/LP2I if(A[iA]<B[iB])
Département d’Informatique
{AB[iAB]=A[iA]; iAB++; iA++;}
else
Proposition de correction de l’examen de Programmation I (SN) {AB[iAB]=B[iB]; iAB++; iB++;}
/* Si iA ou iB sont arrivés à la fin de leur tableau, alors copier le reste de l'autre
Exercice 1 (4 pts) tableau*/
#include<stdio.h> while (iA<N)
main (){ {AB[iAB]=A[iA]; iAB++; iA++;}
int i, n, compt=0 ; while (iB<M)
printf("Donner un entier "); {AB[iAB]=B[iB]; iAB++; iB++;}
scanf("%d", &n); return AB; }
for (i=1; i <=n/2; i++) if (n%i==0) compt+=i; Exercice 4 (4 pts)
if(compt==n) printf("%d est un nombre parfait ",n);
else printf("%d n'est pas un nombre parfait ",n); #include <stdio.h>
} #include <string.h>
main()
Exercice 2 (4 pts) {char s[21],*p, *q;
#include<stdio.h> int i,N;
main (){ printf("Entrez une chaine (max.20 caractères) :\n");
int nbr, n, chiffre, occu=0, rest ; gets(s);
printf("Entrer un nombre positif :\n"); N = strlen(s);
scanf("%d", &nbr); for (p=s, q=s+(N-1); *p == *q, p<=q; p++,q--);
do{ printf("Entrer un chiffre (0<= chiffre <10):\n"); if (*p==*q) printf("symétrie axiale horizontale");
scanf("%d", &chiffre);} while(chiffre<0 || chiffre>=10) ; else printf("non symétrie ");
n = nbr; system("pause"); }
do{ rest = n%10; n = n/10;
Exercice 5 (4 pts)
if(rest==chiffre) occu++;
}while(n); char * repeter(char *s, int n)
printf(" le nombre d'occurences de %d dans %d est de %d ",chiffre, nbr, occu); {char *ch,*p;
system("pause"); int lg, i;
} lg =strlen(s);
ch= (char*)malloc(((lg*n)+1)*sizeof(char));
Exercice 3 (4 pts) for(p=ch;*s!='\0';s++)
int * fusionner( int *A, int N, int *B, int M) for (i=0;i<n;i++) *(p++)=*s;
{int iA=0, iB=0, iAB=0, *AB; *p='\0';
AB = (int*)malloc((N+M)*sizeof(int)); return (ch);
}

Vous aimerez peut-être aussi