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 :

Appele a une fonction sur C#


Sujet :

C#

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Appele a une fonction sur C#
    Bonjours je veux programmer une heuristique qui réssoud un problème de découpe c’est un problème de recherche opérationnelle , cette heuristique utilise des fonctions et chaque fonction appel une autre fonction parmi ces fonctions y ‘on as qui utilise des matrices comme paramètres d’entrés et retourne aussi une matrice le problème ces que j’ai pas trouver comment définir une tell fonction et comment l’appeler et est ce que pour mon projet il vaut mieux utiliser la programmation procédural ou bien j’utilise la POO sachant que je suis encore un débutant je métrise pas trop la POO ???

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Points : 488
    Points
    488
    Par défaut
    Je dirai que tu peux le faire des 2 facons.
    Attention avec tes methodes qui appellent des methodes, à ne pas faire un StackOverflow.

    Voici comment déclencher un stackoverflow à coup sur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public void Aie()
    {
    Aie();
    }
    Si tu appelle Aie, tu rentre dans la methode, qui s'appelle elle meme puis attend de que Aie soit executé avant de sortir. Mais le Aie qui a été appellé, appelle Aie et attend que Aie soit terminé pour resortir. Tu crée ainsi un systeme de poupée russe sans fin, tout cela s'empile dans la stack, puis ca explose.

  3. #3
    Membre confirmé Avatar de MetalGeek
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 412
    Points : 513
    Points
    513
    Par défaut
    Salut,

    ton problème est de l'algo, pas du langage (en fait tu peux aussi bien faire ça en 'procédural' comme tu dis qu'en orienté objet).

    Tu devrais je pense d'abord faire ça en pseudo-code, ensuite si tu ne maîtrises pas de langage particulier, fais un rapide tour des tutoriels pour les langages les plus connus, et essaie de faire des 'Hello World', tu en dégageras vite un qui t'inspireras plus que les autres. Là tu implémenteras ton algo avec.
    Si je peux te conseiller, évite le VB pour débuter, surtout si tu as du mal avec les concepts abstraits de la POO, ça va t'embrouiller un max. Par ex. tu as le Delphi qui est simple, et propre.

  4. #4
    Candidat au Club
    Inscrit en
    Avril 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Bonjours vous pouver me dire c quoi lereur ds ce code merci?
    Quelle est l'erreur dans ce code ? Merci.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    public static int[,] Trieindice( int[,] A,int[,] B)
    {
        int[,] C = new int[2, 2];
        for (int i = 0; i < 2; i++)
        {
            for (int j = 0; j < 2; i++)
            {                  
                C[i,j]=A[i,j]+B[i,j];
            }
        }
        return C;
    }
     
    static void Main(string[] args)
    {
        int[,] A = new int[,] { {5, 7 }, {4, 6 } };
        int[,] B = new int[,] { { 3, 7 }, { 2, 6 } };
     
        Trieindice (A,B); 
    }

  5. #5
    Membre émérite Avatar de meziantou
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Points : 2 439
    Points
    2 439
    Par défaut
    Bonjours vous pouver me dire c quoi lereur ds ce code merci?
    Quel est le message d'erreur ?

    PS : ajoutes les balises code.

  6. #6
    Expert éminent
    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 : 46
    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
    Points : 7 660
    Points
    7 660
    Par défaut
    L'erreur c'est probablement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for (int j = 0; j < 2; i++)
    {                  
        ...
    }
    alors que tu "boucles" sur j et donc c'est j qu'il faut incrémenter.

  7. #7
    Candidat au Club
    Inscrit en
    Avril 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci je pense que c'est bete comme erreur mais même quand j’incrémente le j j’ai cette erreur
    Trieindice(int[*,*] , int[*,*] ) : not all code paths return a value
    Est ce qu'on peut retourner une matrice avec C# et si oui coment le faire ?

  8. #8
    Membre confirmé Avatar de MetalGeek
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 412
    Points : 513
    Points
    513
    Par défaut
    Le fait que tu n'incrémentes pas le 'i', ou alors le 'j', fait que le compilateur voit qu'il ne peut pas sortir de la boucle correspondante, alors il ne retourne jamais la matrice.
    Ou alors, tu as modifié le code par rapport à ce que tu as posté ?

Discussions similaires

  1. Réponses: 6
    Dernier message: 17/12/2010, 18h05
  2. Macro boutton - Appel d'une fonction sur différentes feuilles
    Par tibss dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 16/11/2010, 09h26
  3. Réponses: 6
    Dernier message: 16/11/2009, 08h58
  4. Appel d'une fonction sur un fichier
    Par amnay dans le forum Langage
    Réponses: 16
    Dernier message: 17/10/2008, 15h21
  5. appel d'une fonction sur autre page
    Par champion dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/03/2007, 14h37

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