ALgorithme
Répondre à la discussion
Affichage des résultats 1 à 18 sur 18

ALgorithme



  1. #1
    invite7a2e229b

    ALgorithme


    ------

    Ecrivez un algorithme qui permet de permuter les valeurs de deux variables. quel que soitleur contenu.

    -----

  2. #2
    Xoxopixo

    Re : ALgorithme

    Bonjour,

    c'est un défi ?

    Permuter les valeurs de deux variables est une méthode bestiale.
    Permuter les pointeur sur deux variables est plus une méthode plus fine.
    En bon vivant, rien ne vaut un bonne logique ternaire.

  3. #3
    Jack
    Modérateur

    Re : ALgorithme

    Citation Envoyé par ali-zenagui Voir le message
    Ecrivez un algorithme qui permet de permuter les valeurs de deux variables. quel que soitleur contenu.
    C'est demandé tellement gentiment ...

    Nous ne sommes pas dans un supermarché!
    Commence par respecter la charte, notamment en ce qui concerne les règles de politesse.
    Ensuite lis les "post-it" de ce forum et on en reparle.

  4. #4
    DomiM

    Re : ALgorithme

    Bonjour

    en voilà un en C

    Code:
    void permute(void *a,void *b,DWORD longueur)
    {
    void buf=malloc(longueur);
    memcpy(buf,a);
    memcpy(a,b);
    memcpy(b,buf);
    }
    Dernière modification par gienas ; 17/04/2012 à 17h52. Motif: Ajouté la balise code, obligatoire pour les programmes
    Mesurer la masse de la situation permettrait de connaitre sa gravité :)

  5. A voir en vidéo sur Futura
  6. #5
    DomiM

    Re : ALgorithme

    Bug : J'ai oublié de supprimer buf, voila ce que c'est de papillonner sur c++,VBA,js,php,html,MySql on fait des mélanges involontaire.
    Code:
    delete buf;
    Mesurer la masse de la situation permettrait de connaitre sa gravité :)

  7. #6
    JPL
    Responsable des forums

    Re : ALgorithme

    Quand il s'agit, comme c'est très probablement le cas ici, un exercice, il ne faut pas donner la solution, c'est un mauvais service. Il faut donner des pistes.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  8. #7
    DomiM

    Re : ALgorithme

    certes mais on peut glisser des erreurs c'est encore mieux car pour trouver un algorithme ce qui est le plus long c'est de trouver les bugs.

    et il y en avait encore 3 autres heureusement identiques
    Il fallait donner la longueur à copier dans memcpy car les allocation mémoire ne sont pas bornées en C
    Code:
    memcpy(buf,a,longueur);
    memcpy(a,b,longueur);
    memcpy(b,buf,longueur);
    Mesurer la masse de la situation permettrait de connaitre sa gravité :)

  9. #8
    Jack
    Modérateur

    Re : ALgorithme

    Notons qu'ali-zenagui t'a été très reconnaissant pour l'aide apportée. Ça fait toujours plaisir .

  10. #9
    DomiM

    Re : ALgorithme

    Bonjour,

    Oui Jack mais c'est pas grave, ça occupe

    Encore une erreur, pas grave car le compilateur l'aurait signalé comme pour le memcpy(buf,a) où il manque la longueur
    il manque une étoile
    buf est un pointeur sur une zone mémoire pas une valeur

    Code:
    void *buf=malloc(longueur);
    Mesurer la masse de la situation permettrait de connaitre sa gravité :)

  11. #10
    invite15f52b35

    Re : ALgorithme

    Petit conseil :
    Utilise le passage par référence.

  12. #11
    Jack
    Modérateur

    Re : ALgorithme

    Citation Envoyé par zac03 Voir le message
    Petit conseil :
    Utilise le passage par référence.
    DomiM ayant bien précisé qu'il s'agissait d'un exemple en C, un passage par référence n'est pas possible.

    A+

  13. #12
    invite15f52b35

    Re : ALgorithme

    DomiM ayant bien précisé qu'il s'agissait d'un exemple en C, un passage par référence n'est pas possible.
    Oui, mais, ali-zenagui (qui a posé la question) lui n'a rien précisé.

  14. #13
    whoami

    Re : ALgorithme

    Bonjour,

    Pour un exercice de base comme celui-ci, c'est habituellement en rapport avec C (mais pas forcément quand même ).

    De toute manière, la réponse contient une grosse erreur, et si ali-zenagui s'est contenté de faire un copier/coller, il a dû avoir une sale note (en tout cas, ce serait le cas pour mes élèves).

  15. #14
    Jack
    Modérateur

    Re : ALgorithme

    Citation Envoyé par zac03 Voir le message
    Oui, mais, ali-zenagui (qui a posé la question) lui n'a rien précisé.
    D'accord , mais si on repart effectivement du message d'origine, il n'est même pas question d'écrire une fonction.

    Enfin bon, vu l'intérêt qu'ali-zenagui porte aux réponses données, je ne vois pas pourquoi on se donne tant de mal.
    Belle mentalité je trouve ...

    A+

  16. #15
    Dlzlogic

    Re : ALgorithme

    Bonjour,
    Ah,Ah Ah,
    En relisant la question d'origine, ali-zenagui n'a pas dit qu'il en avait besoin.
    Moi j'ai compris quelque-chose du genre "Vous vous ennuyez, alors voila un petit exercice qui vous fera passez le temps".
    Par contre, on aurait pu s'attendre à ce qu'il apporte des corrections, des remarques, des conseils, comme tout individu qui propose un exercice.
    Bien sûr, tout ça c'était pour rire.

  17. #16
    danyvio

    Re : ALgorithme

    A la suite d'un pari il y a longtemps, j'avais écrit l'interversion de deux nombres sans variable intermédiare. La seule contrainte : que la somme des variables ne provoque pas d'overflow,

    Soient A et B deux variables numériques dont on veut intervertir les valeurs.

    A:=A+B
    B:=A-B
    A:=A-B

    ça ne fait pas avancer la science, mais c'est rigolo...
    On trouve des chercheurs qui cherchent ; on cherche des chercheurs qui trouvent !

  18. #17
    Dlzlogic

    Re : ALgorithme

    Oui, c'est pas mal.
    Et ça donne quoi avec des float ?
    A essayer !

  19. #18
    whoami

    Re : ALgorithme

    Bia,

    C'est un problème très classique, et une possibilité plus générale, puisque ne dépendant pas des valeurs :
    Code:
    a = a XOR b
    b = b XOR a
    a = a XOR b
    De plus, ça marche quelle que soit la taille des variables (ça peut demander des casts ou autres trucs pour être appliqué, selon les données à traiter).

Discussions similaires

  1. Algorithme
    Par ladyk dans le forum Mathématiques du collège et du lycée
    Réponses: 7
    Dernier message: 03/02/2011, 08h49
  2. Algorithme
    Par ladyk dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 02/02/2011, 11h55
  3. algorithme
    Par invite72fedd95 dans le forum Électronique
    Réponses: 0
    Dernier message: 17/01/2010, 12h34
  4. Algorithme
    Par inviteeb9e3975 dans le forum Mathématiques du supérieur
    Réponses: 14
    Dernier message: 11/01/2009, 23h05
  5. algorithme
    Par invite56f88dc9 dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 30/11/2006, 18h14