Le but est de créer un programme qui permet de saisir un nombre entier naturel et qui affiche le ou les poid(s) de chaque chiffre dans ce nombre. À partir de ces informations (les poids de chaque chiffre), le nombre doit pouvoir être reconstitué.
Le poids représente la position du chiffre dans le nombre, en partant de la droite (le premier chiffre de droite est à la position 0, il a donc un poids 0).
Exemple :
Si le nombre saisi est :
7377683
L’affichage doit donner :
3 : 0 5
6 : 2
7 : 3 4 6
8 : 1
7377683
Explication : le 3 a pour poids 0 et 5 (car on le retrouve à la position 0 et à la position 5 du nombre, en partant de la droite), le 6 a pour poids 2, le 7 à pour poids 3, 4 et 6, et le 8 a pour poids 1. Vous ne devez pas afficher les chiffres qui n’apparaissent pas. Verticalement, les premiers chiffres doivent être dans l'ordre croissant. Horizontalement, les positions doivent aussi être dans l'ordre croissant. Pour mémoriser les poids de chaque chiffre, vous devez utiliser un tableau à 2 dimensions. L’affichage final (7377683) provient de la reconstitution du nombre à partir des poids de chaque chiffre.
On prendra pour hypothèse que le nombre saisi ne dépasse pas 9 chiffres (inutile de faire un contrôle de saisie). En C++, vous déclarerez ce nombre en "unsigned long int". Attention, le nombre reconstitué doit être aussi en 'unsigned long int". Vous n’avez pas l’autorisation d’utiliser des variables autres que numériques pour gérer ce programme.
Le programme doit fonctionner pour plusieurs nombres : l’arrêt du programme se fera lorsque le nombre saisi sera égal à 0.
Partager