IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

les pointeurs sous C#


Sujet :

C#

  1. #1
    Membre éclairé Avatar de ralf91
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 419
    Par défaut les pointeurs sous C#
    salut !

    j'aimerais savoir comment utiliser les pointeurs sous C#, en fait ce que je voudrais faire, c'est de créer un arbre binaire ? est ce que je peux faire la création de cet arbre comme en C ? si oui comment manipuler les pointeurs ?

    merci !

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    les pointeurs en C#, notion interessante ma foi

    en mode unsafe surement !!!

    Mais comme je sens que tu vas me dire que tu ne sais pas ce qu'est le mode unsafe, je te propose dors et déja une réponse ==> Prends un bon bouquin ou un tutoriel et regarde un peu les bases de C#....

    Et après, on pourra reparler de pointeur

  3. #3
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    J'ajouterais en tant que gros consommateur de pointeur en C que en C# tu ne dois pas trop te préocupper de ca.

    C# gere tres bien les références aux objets (Trop bien parfois ! : mais c'est en autre débat )

    Donc si tu veux faire un arbre binaire je dirais qu'il te suffit de définir une classe feuille contenant elle meme une FeuilleA et FeuilleB sur une classe Feuille et le tour est joué !

    Et si tu veux parcourir cet arbre, tu peux utiliser une List<Feuille> (le sujet été débatu il y a qq jours)

  4. #4
    Membre éclairé Avatar de ralf91
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 419
    Par défaut
    salut !
    j'ai reussi a utiliser les pointeurs ! j'aimerais savoir maintenant comment faire pour utliser les allocations dynamiques de la memoire ! genre malloc en C ?

  5. #5
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Pourquoi vouloir à tout prix utiliser des pointeurs pour gérer un arbre binaire ?

    Exercice ?
    Contrainte technique ?
    Ou bien parce que tu es habitué au C ?

    Car on manipule rarement les pointeurs en C# (unsafe). Pour du traitement d'images je peux comprendre, mais pour un arbre binaire.

  6. #6
    Membre éclairé Avatar de ralf91
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 419
    Par défaut
    salut !
    ben voila c'est pour une application dans le domaine de traitement d'image !
    pour l'arbre j'ai pas beaucoup d'idée pour le faire ! je les avais déjà fait avec C et comme j'ai pas trop d'idées sur la facon de les faire en C# ! alors j'essaye de trouver les correspondances entre C et C#

  7. #7
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Que veux tu faire exactement

    Car si c'est pour essayer de faire exactement en C# ce qu tu fais en C, autant le faire en C

    Si par contre tu souhaite travailler en C# et et que tu souhaite solutionner un problème il vaut peut etre mieux d'abord expliquer précisément ce que tu veux faire plutot que d'essayer de trouver comment reproduire à la lettre en C# ce que tu peux faire en C

  8. #8
    Membre éclairé Avatar de ralf91
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 419
    Par défaut
    salut !
    ce que je veux faire exactement c'est de créer un arbre binaire qui contient des entiers, en commençant par ses feuilles ! voila ! en C#

  9. #9
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Citation Envoyé par ralf91 Voir le message
    créer un arbre binaire qui contient des entiers, en commençant par ses feuilles
    C'est à dire en commençant par ses feuilles ? Parce que si on doit représenter un arbre, on ne part pas des feuilles généralement.

  10. #10
    Membre éclairé Avatar de ralf91
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 419
    Par défaut
    oui je sais ! mais la construction de mon arbre devrait se faire comme ça ! j'ai les feuilles ! je dois les relier jusqu'a atteindre la racine !

  11. #11
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    oui je sais ! mais la construction de mon arbre devrait se faire comme ça ! j'ai les feuilles ! je dois les relier jusqu'a atteindre la racine !
    Excuse moi mais ce que tu dis ne tiens pas la route !
    Soit ton arbre est constituté et tu veux le parcourir a partir d'une feuille pour atteindre la racine : on ne parle donc pas de construction d'un arbre

    Soit ton arbre n'existe pas (j'entends n'a pas de consistance logique) et dans ce cas le lien feuille - racine ne peut etre que totalement aléatoire

    Donc avant meme de débatre de pointeur, language etc.. il me semble peut etre plus fondamental de maitriser cette notion d'arbre !!

  12. #12
    Membre éclairé Avatar de ralf91
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 419
    Par défaut
    ben je ne sais pas trop comment te l'expliquer ! ben voila moi j'ai un ensemble d'entiers ! (doivent apparaître dans les feuilles de l'arbre)

    maintenant je dois regrouper ces feuilles en suivant une méthode donnée, jusqu'a atteindre la racine ! c'est a la dire la racine n'est pas connu au départ, elle sera calculée !

    Exemple :

    j'ai l'ensemble des entiers suivant : 1 1 2 4 (doivent apparaître dans les feuilles de mon arbre) c'est la seule chose qui est connu au départ.

    maintenant supposons que la méthode dit : si deux éléments sont égaux alors on les regroupe et leurs père sera égal a la somme des deux fils par exemple.
    Donc on aura quelque chose :



    . . . . . . . 8

    . . . . . 4 . . . 4

    . . . 2 . . 2

    . . 1 . 1

    (desole pour les points ! c'est juste pour avoir le schema)

    - Donc j'ai regroupé 1 et 1 et leurs pere = 1+1
    - ensuite 2 avec 2 et je fais la somme pour avoir le pere
    - ainsi de suite jusqu'a atteindre la racine = 8

    tu remarques que je ne peux créer la racine "8" si je ne commence pas par traiter les feuilles.

    Voila j'espère que c'est plus clair maintenant.
    merci pour votre aide.

  13. #13
    Membre éclairé Avatar de ralf91
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 419
    Par défaut
    donc ce que je veux en fait, c'est comment créer l'arbre en C#, pas l'algorithme qui fait les calculs.

  14. #14
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Et si tu avais eu

    1 1 2 2 4 ?


    Que dois tu faire dans ce cas ?

    Mais pour repondre a ton exemple, je ferais une classe feuille avec deux reference feuille enfants

    Je cree une liste de feuille avec les elements de départ et triée
    je parcours la liste du plus petit au plus grand, j'insere des nouvelles feuilles dans la liste le cas echéant en conservant le tri

  15. #15
    Membre éclairé Avatar de ralf91
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 419
    Par défaut
    Et si tu avais eu

    1 1 2 2 4 ?


    Que dois tu faire dans ce cas ?
    l'exemple de tout a l'heure c'était juste pour t'expliquer pourquoi je dois commencer ma construction par les feuilles !

    Mais pour repondre a ton exemple, je ferais une classe feuille avec deux reference feuille enfants
    pourquoi utilises tu une classe ? j'ai pensé a utiliser une structure feuille qui contient l'élément, un pointeur sur fils gauche et un autre pointeur sur le fils droit, bon au départ pour les feuilles, les deux fils auront "null" je pense que c'est la meme chose non ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    struct feuille
    {
    int element;
    int* fils_gauche;
    int* fils_droit;
    }

  16. #16
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Tu peux te passer des pointeurs si c'est ça.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    class Noeud
    {
        private Noeud _filsGauche;
        private Noeud _filsDroit;
        private int _element;
     
        ...
    }
    En ajoutant éventuellement le noeud parent si cela peut servir.

  17. #17
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Quelqu'un peut il m'expliquer pourquoi il veut à tout prix utiliser les pointeurs ?
    j'ai relu tout le fil et je ne comprends rien à son argumentation sur les pointeurs (dans un context C#, j'entends : j'ai la désagreable impression qu'il essaye de plaquer des concepts strictement C en C#).

  18. #18
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Il se raccroche à ce qu'il connait je pense. Il n'a probablement pas lu de cours pour apprendre les bases C#, sinon il aurait vu la notion de type référence. Dans le cas présent les pointeurs sont effectivement totalement inutiles.

  19. #19
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par StormimOn Voir le message
    Il se raccroche à ce qu'il connait je pense. Il n'a probablement pas lu de cours pour apprendre les bases C#, sinon il aurait vu la notion de type référence. Dans le cas présent les pointeurs sont effectivement totalement inutiles.
    C'est ce que je voulais souligner : visiblement il attaque du traitement d'image, donc rien à voir avec un "Hello worlds" pour débutant et dans ce contexte déjà assez "pointu" je trouve un peu bizarre de ne pas s'être informé un minimum sur le langage qu'il compte utiliser.

  20. #20
    Membre éclairé Avatar de ralf91
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 419
    Par défaut
    salut !
    Bluedeep même pour les autres aussi ! je tiens a vous dire qu'aucune chose ne tombe comme ça du ciel ! mais toute chose s'apprend ! il est vrai que je suis novice en C# ! mais je pense que tout un chacun peut apprendre en pratiquant ! donc ce n'est pas parce que je ne suis pas professionnel en C# alors je ne fais pas du traitement d'image ou autre ! je suis humain comme vous je pense, je réfléchis, je cherche , j'essaye de comprendre et je finis par apprendre !
    PS : une chose que je déteste le plus c'est d'entendre quelqu'un me critiquer ou me répondre a quelque chose sans me convaincre !

Discussions similaires

  1. Les pointeurs et les complexes sous C++
    Par hicham.jakjoud dans le forum C++
    Réponses: 12
    Dernier message: 26/10/2006, 19h39
  2. Comment afficher les accent sous mysql v4.0.13
    Par buildozer dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/06/2003, 09h33
  3. Les interruptions sous Windows et Linux
    Par Descartes dans le forum x86 32-bits / 64-bits
    Réponses: 7
    Dernier message: 07/06/2003, 22h42
  4. Les index sous Sybase
    Par Emdis dans le forum Autres SGBD
    Réponses: 2
    Dernier message: 02/06/2003, 15h21
  5. PB d'import avec les ActiveX sous BCB6
    Par dergen dans le forum C++Builder
    Réponses: 4
    Dernier message: 29/11/2002, 10h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo