|
|
|
|
Posté par
coolzero, le jeudi 20 décembre 2007 à 11:09:38Configuration: Windows XP Internet Explorer 6.0
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 puis les classer en ordre alphabetique merci de votre reponce |
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. |
merci mon ami pour les astuces
j ai b1 compris |
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. |
oups... désolé poru le dernier post, il était destiné à une autre discussion |
non c pas grave mon ami |
| 15/04 13h59 | Les fausses adresses email professionnelles | Messagerie électronique |
| 15/04 21h02 | [Infographie] Logiciels de graphisme | Infographie |
| 24/01 16h52 | Les balises metas dans le code source | Référencement |
| 01/02 09h40 | Lancer et animer un blog | e-communication |
| 07/03 15h33 | Les sites discount | e-achats |
| 22/08 17h15 | Classement par ordre alphabétique | 6 |
| 21/07 14h49 | [Java] classer par ordre alphabétique | 4 |
| 11/01 21h21 | Classement par ordre alphabétique | 16 |
| 02/05 09h30 | Classer par ordre alphabétique des données | 6 |
![]() | XPMan - Quand vous avez plusieurs applications installées sur votre ordinateur, vous ne savez plus comment les gérer! Il se trouve... | Catégorie: Optimisation Licence: Freeware/gratuit |
![]() | Media Player Classic - Media Player Classic est un lecteur vidéo reprenant l'apparence des premières version de Windows Media Player. Son apparence... | Catégorie: Lecteurs vidéo Licence: Open Source |
![]() | AVISplit Classic - AVISplit permet de découper et d'assembler des morceaux d'une vidéo au format AVI dans l'ordre souhaité, comme tout bon... | Catégorie: Edition vidéo Licence: Freeware/gratuit |
![]() | Windows Media Player - Le Lecteur Windows Media 11 (WMP) est l'une des fonctionnalités incluses dans Windows Vista et offre des outils pour... | Catégorie: Lecteurs vidéo Licence: Freeware/gratuit |
![]() | Verbatim Secure Digital High | Catégorie: Carte Mémoire / Clé USB | 27.99 € Matrixx-media FR |
![]() | Toshiba Bluetooth Class2 (PA3235U-5BTM) | Catégorie: Carte Réseau | 107.64 € Compufirst |
![]() | Verbatim Secure Digital High | Catégorie: Carte Mémoire / Clé USB | 14.23 € Compufirst |
![]() | Extrememory Performance SecureDigital HC | Catégorie: Carte Mémoire / Clé USB | 11.99 € Matrixx-media FR |