Écrivez un programme C qui implémente une table de hachage utilisant le chaînage pour la résolution des collisions. Le programme doit fournir les fonctionnalités suivantes :
- Insertion de paires clé-valeur dans la table de hachage.
- Recherche d'une clé dans la table de hachage et impression de la valeur correspondante si elle est trouvée.
- Suppression d'une clé de la table de hachage.
- Affichage de toutes les paires clé-valeur stockées dans la table de hachage.
Votre programme doit comporter les éléments suivants :
- Une fonction de hachage pour calculer la valeur de hachage des clés.
- Une structure de données basée sur des listes chaînées pour gérer les collisions.
- Des fonctions permettant d'insérer, de rechercher, de supprimer et d'afficher les paires clé-valeur dans la
table de hachage.
La table de hachage doit pouvoir gérer les collisions par chaînage, ce qui signifie que chaque unité de la
table de hachage doit être une liste chaînée qui stocke toutes les paires clé-valeur dont la valeur de hachage
correspond au même index.
Notation :
- Structure de données d'une table de hachage : 1pt
- Implémentation correcte de la fonctionnalité de la table de hachage : 5pts
Correction : Programme C Nombre D'amstrong
Algorithme en langage C
#include <stdio.h>
int main() {
int nbre, n, som, tmp;
do {
printf("Entrez un nombre qui sera testé : ");
scanf("%d", &nbre);
} while (nbre < 0);
tmp = nbre;
n = 0;
som = 0;
do {
n = nbre % 10;
som += n * n * n;
nbre /= 10;
} while (nbre != 0);
if (som == tmp) {
printf("Ce nombre est un nombre d'Armstrong.\n");
} else {
printf("Ce nombre n'est pas un nombre d'Armstrong.\n");
}
return 0;
}
Si vous avez trouvé cet exercice corrige en Langage C de Mr JoëlYk intéressants et utiles, pourquoi ne pas les partager avec d'autres personnes qui pourraient également en bénéficier ? Partagez ce lien sur les réseaux sociaux ou envoyez-le à vos amis et collègues. Vous pourriez aider quelqu'un à améliorer ses compétences en programmation ou à trouver des solutions à des problèmes complexes. N'oubliez pas que la connaissance doit être partagée pour grandir. Merci pour votre soutien et votre partage !
Contact WhatsApp : +237 652027193 | Réaliser Par Joël_Yk