Bonjour,je veux que vous me aider pour ecrire un algorithme qui clasee des noms qulconque donnees par l utilisateur par ordre alphabetique dans un un tableau dynamic
svp aider moi car j ai un examen dmn
svp
et merci
qu'est-ce que tu appelle un tableau dynamique? un tableau dont la mémoire est allouée dynamiquement au fur et à mesure qu'on rentre les noms? si c'est ça, je pense que l'option "liste chainée" n'est pas mauvaise...
c'est de l'algorithmique pure ou il te faut écrire un prog dans un certain langage?
le tableau dynamique c le tableau qui peut redimentioner
ca declaration et comm ça
tableau nom de tableau( ) : chaine de caractere
et moi je veux ds mon algorithme qu il demande a le nombre des noms et redimentioner le tableau
je reste sur mon idée de liste chainée. il te duffit de créer un nouveau maillon à chaque fois que tu dois insérer un nouvel élément dans ta liste et d'insérer ce nouvel élément au bon endroit en fonction de l'ordre alphabétique.
il te suffit donc de créer une structure adéquate, de ne pas te planter dans tes histoires de liens/pointeurs pour naviguer au sein de ta liste, et de créer une fonction qui te permet de savoir si un mot se situe avant ou après un autre dans l'ordre alphabétique... pour la dernière fonction, c'est pas bien compliqué. tant que ton nouveau nom se situe alphabétiquement après le nom pointé par ton pointeur courant, tu passe au maillon suivant.
je t'en ai déjà trop dit... il faut que tu trouves le reste par toi-même.
Salut,
j'ai abordé ton problème d'un point de vue bases de données, pour créer un schéma relationnel, mais à partir de là, on peut toujours créer une arborescence de structures pour contenir le tout.
pour moi, en c, ça serait un ensemble de listes chainées, mais pour tout remplir, mettre à jour et exploiter, tu vas t'amuser, surtout s'il s'agit de faire des jointures ou d'autres trucs...
le plus important à mon sens, est de bien faire attention au fait que certaines données peuvent avoir plusieurs occurences par rapport à d'autres, et que le nombre de ces occurences peut être variable. par exemple : un pays a plusieurs diplomates, un menu a plusieurs plats, un plat a plusieurs ingrédients, etc...
donc, on ne peut pas définir une structure de type "plat" qui comporte en elle même et de façon fixée les éléments susceptibles de cointenir les ingrédients. si ta structure plat a 25 ingrédients et que ton plat (ex: la salade de tomates) n'en a que 4, ça peut poser problème.
par conséquent, ce qu'il vaut mieux faire, c'est définir une liste de structures "plat" et une liste de structures "ingrédients", et dans la structure "ingrédient", prévoir un pointeur sur un élément "plat" permettant de faire l'association entre les 2 de façon à ce que plusieurs ingrédients puissent aller pointer sur un même plat.
voici un exemple de quelques structures et du raisonnement à suivre :
une structure Pays
- nom
- continent
- gouvernement
- habitants
- capitale
une structure relations (attention au remplissage à ne pas avoir de doublons)
- Pays1 (pointeur vers élément pays)
- Pays2 (pointeur vers élément pays
- relation (ami, ennemi, etc...)
une structure diplomates (0,1ou plusieurs diplomates par pays)
- pays (pointeur vers élément pays)
- nom
- fonction (président, 1er ministre, etc...)
chaque structure sera en fait le prororype des éléments d'une liste chainée, il faut donc rajouter à tout ça les pointeurs nécessaires pour te ballader à l'intérieur de ta liste chainée (pointeur suivant et précédent), ainsi que prévoir les différents pointeurs de tête, opinteurs de queue, pointeurs courants, etc...
la liste des diplomates contiendra tout les diplomates de la planètes. pour trouver les diplomates d'un pays, il faut parcourir toute la liste et récupérer le nom du pays pointé par le pointeur sur la structure pays associée au diplomate observé à l'instant T pour savoir si le diplomate en question fait bien partie du pays recherché.
cette liste va contenir plusieurs fois le même pays car un pays a généralement plusieurs diplomates. par contre, un diplomate ne travaille généralement que pour un seul pays, et donc chaque diplomate ne sera présent qu'une seule fois dans toute la liste.
la liste relations va contenir l'état des relations entre chaque pays, il faut bien faire attention que pays1, pays2, relation et pays2, pays1, relation, c'est la même chose, et donc, il faut faire bien attention quand on rempli la structure.
donc, chaque pays pourra apparaitre plusieurs fois dans cette liste, mais chaque association entre 2 pays ne pourra apparaitre qu'une seule fois.
etc...
je ne vais pas t'en dire plus, le reste, tu dois essayer de le trouver par toi-même
je reconnais quand même que tout passer en c est assez galère... en gros, tu es en train de recréer un mini système de gestion de bases de données, et tu vas bien t'amuser, avec les pointeurs et autres navigations dans tes listes... je te souhaite bien du plaisir.
Trouvez des réponses à vos questions sur les langages, les frameworks et les astuces de codage. Échangez avec d'autres développeurs passionnés pour améliorer vos compétences en programmation et rester au fait des dernières tendances du secteur.