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

Algorithmes et structures de données Discussion :

Couches K L M


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de _SamSoft_
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    798
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 798
    Par défaut Couches K L M
    J'ai fais un petit truc comme cela, (seul, il m'a fallut 4 heures) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    0) Déclarer la valeur de Z (numéro atomique)
    1) Si Z < 0 et Z > 28 alors : "Erreur"
    2) Sinon si Z >= 0 et Z =< 2 alors :
    3) K = Z -> Fin du programme
    4) Sinon si Z >= 2 et Z =< 8 alors :
    5) K = 2 et L = Z - 2
    6) Sinon si Z >= 8 et Z =< 18 alors :
    7) Si Z =< 10 alors :
    8) K = 2 et L = Z - 2
    9) Sinon si Z >= 10 alors :
    10) K = 2, L = 8 et M = Z - (K + L)
    11) Fin du programme
    Je voudrais l'améliorer, ne pas me limitter à ces 3 couches et peut-être l'automatiser ?

  2. #2
    Membre Expert Avatar de Nemerle
    Inscrit en
    Octobre 2003
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 106
    Par défaut
    géé?

  3. #3
    Membre éclairé Avatar de _SamSoft_
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    798
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 798
    Par défaut
    ? , qu'est ce qui ne va pas ?

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    556
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 556
    Par défaut
    déjà ton code est bizarre
    Si Z = 2 faudrait-il K = Z ou K = 2 et L = Z-2
    Tu fais un tset <=2 puis >=2, il devrait déjà y en avoir un qui est strict
    OK çà amrche car je pense que tu veux le cas Z = 2 mais si tu voulais l'autre, tu n'y rentrerais jamais

    Pour l'automatiser, il faudrait avoir la règle précise...avec la règle, je pense queje pourrais aussi sans doute optimiser ton code car y a des trucs qui me paraissent bizarre

  5. #5
    Membre éclairé Avatar de _SamSoft_
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    798
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 798
    Par défaut
    testez mon "code", vous verrez il fonctionne mais pour Z >=0 et Z =< 28

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    556
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 556
    Par défaut
    Bien sur qu'il fonctionne mais on peut l'arranger je pense

    Quelle est al règle si tu veux l'automatiser pour plusieurs couches ???

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    556
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 556
    Par défaut
    Par exemple, le code ci-dessous marche très bien aussi et est plus clair et plus simple

    0) Déclarer la valeur de Z (numéro atomique)
    1) Si Z < 0 et Z > 28 alors : "Erreur"
    2) Sinon
    3) Si Z >= 0 et Z =< 2 alors :
    3) K = Z -> Fin du programme
    4) Sinon
    5) Si Z > 2 et Z =< 18 alors :
    6) K = 2
    7) Si Z =< 10 alors:
    8) L = Z - 2
    9) Sinon
    10) L = 8 et M = Z - (K + L)
    11) Fin du programme

    Un ptit conseil essaie d'incrémenter c'est plus clair pour sy' retrouver dans lesconditions

  8. #8
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    • 0) Déclarer la valeur de Z (numéro atomique)
    • 1) si Z > 28 ou Z <= 0 ERREUR
    • 2) Sinon si Z > 10 alors N=3 avec (Z - 8 - 2)/2 paires et (Z - 2*((Z-8-2)/2)) electron libre
    • 3) Sinon si Z > 2 alors N = 2 avec (Z -2)/2 paires et (Z - 2*((Z-2)/2)) électron libre
    • 4) Sinon N = 1 avec Z/2 paire et (Z-2*(Z/2)) électron libre

  9. #9
    Membre éclairé Avatar de _SamSoft_
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    798
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 798
    Par défaut
    merci je vais voir ca plus tard, je doit partir,

    merci encore !

  10. #10
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    556
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 556
    Par défaut
    Ton code ne répond pas à la question SOuviron

    le but était de faire en sorte que quelque soit le nombre d'léectrons et le nombre de couches avec des limites paramétrables, le rangement de ceux-ci puissent fonctionner tout le temps

    Je ne pense aps qu'avaec ton code tu puissesparamétrer facilement une 4 ime couche si ce n'est enrajoutant une ligne
    Et sil y a 30 cuches?? tu vas bien t'amuser

  11. #11
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par helios77
    Ton code ne répond pas à la question SOuviron

    le but était de faire en sorte que quelque soit le nombre d'léectrons et le nombre de couches avec des limites paramétrables, le rangement de ceux-ci puissent fonctionner tout le temps

    Je ne pense aps qu'avaec ton code tu puissesparamétrer facilement une 4 ime couche si ce n'est enrajoutant une ligne
    Et sil y a 30 cuches?? tu vas bien t'amuser
    je donnais l'algo...

    Pour le reste, bien sûr que c'est un tableau, comme indiqué plus haut...

    Je disais juste si tu pars par en haut c'est beaucoup plus simple...
    Exemple de code en C :

    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
    21
    22
    23
    24
    25
     
    int    MaxCouches[]={2,8,18,...};
    int    N, Z=0, i, ZMax=0 ;
     
    for ( i = 0 ; i < ... ; i++ )
        ZMax = ZMax + MaxCouches[i] ;
     
    while ( (Z <= 0) || (Z > ZMax) )
    {
      fprintf (stderr, "Entrez le numéro atomique : ");
      scanf ("%d", &Z ); 
    }
     
    N=0;
    i = -1 ;
    while ( N < Z )
    {
       i = i + 1 ;
       N = N + MaxCouches[i] ;
    }
     
    N = N - MaxCouches[i] ;
     
    fprintf ( stderr, " Il y a %d couches avec %d paires et %d electron libre",
               i, (Z-N)/2, (Z - (2*((Z-N)/2))) );

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. vues - Couches de déconnexion ???
    Par gilux dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 27/07/2004, 10h41
  2. [Persistance] Conseil cette couche ?
    Par Alec6 dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 16/06/2004, 11h21
  3. couche entre partie applicative et donnée
    Par crossbow dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 14/06/2004, 15h54
  4. Combiner plusieurs textures avec couches alpha
    Par TibobiT dans le forum OpenGL
    Réponses: 2
    Dernier message: 01/05/2004, 15h20
  5. programmation reseau - couche 2 du modele osi
    Par sahor dans le forum C++Builder
    Réponses: 3
    Dernier message: 06/11/2002, 18h33

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