- Exercices résolus sur les tableaux et les matrices : - Licence Fondamentale d'Informatique
dimanche 3 mars 2013

Exercices résolus sur les tableaux et les matrices :




EXERCICE 1 :

Écrire un programme C qui permet de saisir N entiers dans un tableau (N<=100). Le programme doit afficher ensuite la somme de ces entiers et  leur maximum.

EXERCICE 2 :

Ecrire un programme qui permet de saisir N (N<=100) réels dans un tableau ainsi qu'un réel x. Le programme doit rechercher si x se trouve dans le tableau et afficher "x se trouve dans le tableau" ou "x ne se trouve pas dans le tableau".

EXERCICE 3

Ecrire un programme qui permet de saisir N (0<N<=50) entiers  dans un tableau T. Le programme doit éclater ce tableau en deux tableau  TP et TN, TP doit contenir les entiers positifs ou nuls de T et TN les négatifs.

EXERCICE 4

Ecrire un programme qui permet de :
1 : saisir N réels dans un  tableau t
2 : Calculer et afficher la moyenne des éléments de ce tableau
3 : Chercher si un réel x appartient à ce tableau ou non
4 : Trier ce tableau par ordre croissant
5 : Afficher les éléments de ce tableau

EXERCICE 5

Meme exercice que le précédent mais cette fois ci utiliser une  fonction pour chaque question.
void saisie(float t[], int n)
 for (i=0;i<n;i++)
 scanf("%f",&t[i]);
 }
 {int i;
 s=0;
 s+=t[i];
 }
{ int i,flag=0;
  if(t[i]==x) flag=1;
}
 { int i,j,pos;
 for (i=0;i<n-1;i++)
 for (j=i+1;j<n;j++)
 aux=t[i];
 t[pos]=aux;
}
{ int i;
 printf("%.2f\n",t[i]);
{ float t[100],x;
int n;
clrscr();
 {printf("Tapez le nombre des r‚els:");
 scanf("%d",&n);}
while (n<=0 || n>100);
saisie(t,n);
printf("La moyenne des éléments est :%.2f\n",moyenne(t,n));
printf("Tapez l'élément … chercher:");
scanf("%f",&x);
if (exist(t,n,x)) printf(" %.2f appartient au tableau\n",x);
else printf(" %.2f n'appartient pas au tableau\n",x);
tri(t,n); affichage(t,n);

EXERCICE 6

Exercice sur les nombres premiers :
Une partie d’une épreuve soumise dans la rubrique épreuves types du menu programmation de ce site.
On rappelle qu’un entier est premier si et seulement si il a une paire de diviseurs composée de 1 et  lui-même (autrement dit s’il a deux diviseurs exactement).
Question 1. Écrire la fonction estPremier(n) qui prend un entier n en argument, et qui renvoie 1 si n est premier et 0 sinon. On appliquera directement la définition des nombres premiers donnée ci-dessus.
On veut maintenant calculer tous les nombres premiers inférieurs à un entier donné n. On va procéder selon deux méthodes différentes.



Question 2. Écrire la fonction petitsPremiers(n) qui prend en argument un entier n ≥ 2, et qui :
1. Range (dans l’ordre croissant) les nombres premiers inférieurs ou égaux à n dans un tableau global  tpr, que l’on supposera assez grand.
2. Range dans une variable globale nbpr le nombre d’entiers rangés dans tpr.
Par exemple pour n = 17, votre fonction devra  affecter à nbpr le nombre 7 et remplir le début de tpr ainsi :
2
3
5
7
11
13
17
……..



Il est assez facile de voir que, pour tester si un entier impair m (m>=3) est premier, il suffit de vérifier que m n’est divisible par aucun nombre premier compris entre 3 et racine carrée de m.
Question 3. Écrire une nouvelle fonction petitsPremiers2(n), qui donne les mêmes résultats que petitsPremiers(n) mais est plus efficace. Cette nouvelle fonction appliquera la remarque ci-dessus, les nombres premiers entre 3 et [√m] étant lus dans le tableau tpr en cours de remplissage.

EXERCICE 7

On désire traiter des matrices carrés d'entiers. Ecrire un programme C qui permet de saisir la dimension N de ces matrices (0<N<=25) et de saisir les éléments de deux matrices A et B et de réaliser les traitements suivants:
1- Afficher les deux matrices A et B sous la forme conventionnelle des matrices.
2- Calculer et afficher la somme des éléments de la matrice A.
3- Calculer la somme des deux matrices A et B et affecter le résultat à la matrice C, puis éditer ce résultat.
4- Calculer le produit des deux matrices A et B et affecter le résultat à la matrice C, puis éditer le résultat.
5- Affecter la matrice transposée de la matrice A à la matrice T et éditer le résultat.

EXERCICE 8

Même exercice que le précédent mais cette fois ci utiliser des fonctions pour réaliser les traitements demandés :
  • Une fonction qui saisie une matrice carrée quelconque.
  • Une fonction qui affiche une matrice carrée quelconque.
  • Une fonction qui retourne la somme des éléments d'une matrice passée comme paramétre.
  • Une fonction qui calcule la somme de deux matrices passées comme paramétres
  • Une fonction qui calcule le produit de deux matrices passées commes parametres
  • Une fonction qui calcule la transposée d'une matrice.

EXERCICE 9: (tableaux dynamiques)

Ecrire un programme en langage C qui utilise des tableaux dynamiques et qui :
  • Permet de saisir n réels (0<n<=100) dans un tableau t
  • D’afficher la moyenne des éléments du tableau t
  • De compter les éléments positifs du tableau t
  • D’éclater le tableau initial t en deux tableaux dynamiques tp et tn , le premier contient les éléments positifs et le deuxième contient les éléments négatifs
  • Trier ces deux derniers tableaux par ordre décroissant
  • Afficher les éléments des deux tableaux dans un ordre décroissant chacun

0 commentaires:

Enregistrer un commentaire

 
-