begin process at 2012 05 29 22:56:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

langage c utilisation des pointeurs


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

langage c utilisation des pointeurs

lundi 16 avril 2007 à 17:59:27 | langage c utilisation des pointeurs

darkjedi1024

Bonjour.
Quel est le code à créer à partir de pointeurs de pointeurs pour une fonction permettant d'ajouter des éléments dans une liste chaînée sachant que la liste où on désire ajouter des éléments est défini ainsi :


typedef struct cell {
 D1 *lieu;
 D2 *temps;
 double val; 
 struct cell *ptr_suiv;
} F;


et que le type D1 est :

typedef struct lieu {
 char magasin[20];
 struct lieu *ptr_suiv;
} D1;

et D2 :


typedef struct temps {
 char date[12];
 struct temps *ptr_suiv;
} D2;

Merci.
mardi 17 avril 2007 à 00:06:33 | Re : langage c utilisation des pointeurs

julien_boss

Pourquoi les structures D1 et D2 contiennent un pointeur sur l'élement suivant de la liste chainée (enfin j'imagine ...) alors que ta structure F qui "englobent" les structures D1 et D2 contient déjà un pointeur vers l'élement suivant de la liste ?

Bref, tu fais ce que tu veux :')

void AjouterEntete(F **list, D1 *d1, D2 *d2, double value)
{
    F *nouvelElement = new F;
    nouvelElement->lieu = d1;
    nouvelElement->temps = d2;
    nouvelElement->val = value;
    nouvelElement->
ptr_suiv = *list;
   
    *list = nouvelElement;
}

Je crois que ce code marche (ajout d'un élement en tete), à vérifier.
mardi 17 avril 2007 à 19:09:22 | Re : langage c utilisation des pointeurs

darkjedi1024

Les structures D1 et D2 contiennent des pointeurs car la solution du problème a été défini ainsi.
Au départ j'avais pensé à une fonction du type

//fonction d'ajout d'un fait dans la liste

/* void ajoutFait(F **tete, double val, D1 **date, D2 **lieu){

//déclaration des variables

F* cour;

cour=(F*) malloc(sizeof(F));

cour->temps = D1;

cour->lieu = D2;

strcpy(cour->val,val);

cour->suiv = *tete;

*tete = cour;

} */

Le problème est que cela ne fonctionne pas car il y a une erreur quelquepart (vu que je débute, je suis un peu bloqué).
Merci pour ton aide
Autre petite précision, les structures D1 et D2 sont des listes permettant de modéliser les deux dimensions de la liste des faits. De façon plus pratique, on pourrait penser à un tableau à deux dimensions pour traiter les faits.

mercredi 18 avril 2007 à 10:26:00 | Re : langage c utilisation des pointeurs

darkjedi1024

Voici le code que j'ai finalement pu utiliser (il ajoute en tête de liste).

//fonction d'ajout d'un fait dans la liste
void AjoutFait(F **list, D1 *dim1, D2 *dim2, double valeur){
    //déclaration des variables
    F *cour = malloc(sizeof(F));
   
    //affectation des valeurs
    cour->lieu = dim1;
    cour->temps = dim2;
    cour->val = valeur;
    cour->ptr_suiv = *list;
    *list = cour;
}



mardi 24 avril 2007 à 11:47:33 | Re : langage c utilisation des pointeurs

darkjedi1024

Voici le code retenu pour l'ajout. On a fait une modication sur le type de la variable val car on a eu des problèmes avec l'affichage.

//fonction d'ajout d'un fait dans la liste
void ajoutFait(F **tete, float val, D1 *lieu, D2 *date){
 //declaration des variables
 F* cour;

 cour=(F*) malloc(sizeof(F));
 cour->lieu = lieu;
 cour->temps = date;
 cour->val = val;
 cour->ptr_suiv = *tete;
 *tete = cour;
}



Cette discussion est classée dans : lieu, d1, pointeurs, struct, typedef


Répondre à ce message

Sujets en rapport avec ce message

typedef struct fwrite fread [ par frdestroyers27 ] Destroyers27Bonjour!j'ai un petit probleme d'ecriture ou lecture dans un fichierj'explique un peux le code j'ai dans un .h#ifndef _PLSTRUCT__H_#define problème en C [ par gibbon ] Bonjour,je n'arrive pas à récupérer les pixels avec leur valuer rgb d'une image dont les dimensions sont de 2048*2048 dont j'ai fait la structure de d fichier.h [ par bidules ] Bonjour,j'aimerais savoir s'il est possible de mettre des structures dans un fichier d'entete.Car j'ai fais l'essai mais lors de la compilation pour c Arbre binaire de recherche et structure [ par Jsl1_54 ] slt,j'ai un petit probleme pour acceder au données d'une structure:en fait j'ai quatre structures liées entre elles, soit avec des pointeur ou pas... Pb Initialisation avec typedef [ par acejm2 ] Bjr à tousVoila mon pb: Qd j'essaie de compiler le programme ca marche jusqu'au moment où le programme entre dans la fonction TFichePrincipale::TFiche Définition de Structure [ par angelfire0808 ] Voila j'ai une petite question sur la definition des structure : struct liste         {         int valeur;     & UNDO [ par razatajm16 ] Bonjour, alors donc voilà j'ai un programme à faire, composé de deux structures:    typedef struct Maillon{    int numero;    Maillon* suivant;}Maillo Probleme de structure [ par SkyFriend ] Bonjour à tous, Je demande votre aide car j'ai un petit problème de programmation avec des structures imbriquée. Visual studio 2010 ne me dis pas qu' structures imbriquées [ par draluorg ] Salut a tous,Je recontre un probleme en creant des structures imbriquées :(Voici un exemple type de mes structures:typedef struct _SUB_SUB_SUB_STRUCTU Juste une petite question sur les structures. [ par _michel ] Voilà la définition de conventionnelle pour une structure :typedef struct structure{   void *champs_1;   void *champs_2;}   s_structure;Mais pourquoi


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,562 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales