Cours de programmation séquentielle

Tableaux unidimensionnels

Buts

Énoncé

Une façon de déclarer un tableau d’entiers tab est la suivante:

int32_t size = 10;
int32_t tab[size];

Écrire un programme qui réalise les tâches suivantes.

  1. Demander à l’utilisateur d’entrer la valeur de size pour la création du tableau.
  2. Remplir le tableau tab de valeurs aléatoires plus petites qu’un entier val_max qui est beaucoup plus petit que size (disons 10 à 100 fois plus petit). Par exemple, remplir tab qui fait une taille de 100 de valeurs de 0 à 10.
  3. Trouver le plus petit élément de tab.
  4. Placer le plus grand élément de tab en fin de tableau en procédant à un échange de place.
  5. Rechercher dans tab un élément entré au clavier par l’utilisateur et retourner l’indice de la première occurrence.
  6. Calculer la moyenne des éléments de tab.
  7. Calculer la variance des éléments de tab. La variance var des éléments de tab est définie par la formule: \[ \mathrm{var}=\frac{1}{\mathrm{size}}\sum_{i=0}^{\mathrm{size}-1}(\mathrm{tab}[i]-\mathrm{tab}_m)^2, \qquad{(2.1)}\]\(\mathrm{tab}_m\) désigne la moyenne des éléments de tab et \(\mathrm{tab}[i]\) est le \(i\)-ème élément de tab.
  8. Trier les éléments de tab par ordre croissant.
  9. Trouver l’élément médian du tableau tab. Après avoir trié le tableau tab, l’élément médian est défini comme étant la valeur:

Exemple:

L’élément médian de ce tableau vaut: 3.
1 5 8 2 6 5 3 1 0 3
  1. Écrire une fonction pour chacun des points précédents.
  2. Vérifier que le générateur de nombres aléatoires rand() est équitable. Pour cela, utiliser un tableau d’entiers histo pour comptabiliser le nombre de fois qu’une valeur est tirée. À noter que la
    valeur tirée correspond à l’indice du tableau et que c’est son contenu qui est incrémenté de 1. Utiliser les notions précédentes (moyenne, écart-type, minimum/maximum) pour dire si le générateur est équitable.
  3. Visualiser le contenu du tableau histo verticalement et horizontalement dans le terminal.
  4. Compter toutes les fois où un nombre est répété au moins deux fois dans le tableau

Exemple:

Ici 8 est répété 4 fois et 3 est répété deux fois, 5 également 2 fois, 1 et 6 une fois. Ainsi le résultat du décompte est trois (car 3, 5, et 8 sont répétés).
1 5 8 8 6 5 3 3 8 8