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

 Delphi Discussion :

Extraire le nombre minimum impair d'un tableau


Sujet :

Delphi

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Extraire le nombre minimum impair d'un tableau
    Bonjour,

    Il m'est demandé de réaliser un programme composé d'un tableau 1 dimension demandant à l'utilisateur le nombre d'éléments de ce tableau et leurs valeurs. Il m'est ensuite demandé de tirer de ce tableau le nombre impair minimum et le nombre pair maximum.
    J'ai réalisé la première partie ; mon programme demande donc la longueur et les valeurs du tableau. Pour ce qui est de savoir si les nombres sont pairs ou impairs j'ai trouvé sur ce site la fonction odd ou not odd qui devrait me simplifier la tâche. En revanche, je n'arrive toujours pas à extraire un max ou un min... J'ai trouvé quelques solutions sur le net mais n'ayant que très peu pratiqué ce logiciel je n'en ai compris aucune... Et de là à relier ça avec pair/impair...

    Auriez-vous quelques exemples, formules ou autre ??
    Merci de votre aide !

  2. #2
    Membre éprouvé Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    Août 2008
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : Août 2008
    Messages : 1 606
    Points : 1 113
    Points
    1 113
    Par défaut
    Salut,

    C'est pas trés compliqué.

    De ton premier tableau puisque tu es capable de ressortir les pairs et impairs, tu créé 2 tableaux le premier pair avec tous tes pairs dedans et le deuxième impair avec tous tes impaires dedans.

    Je ne sais pas comment tu as géré ton tableau mais ensuite il te suffit de les classer en ordre croissante et de sortir la première occurrence pour le min et la dernière pour le max...

    Avec par exemple un TStringList tu peux facilement faire un sort pour ressortir ton StringList(0) ou StringList(Count) , ou si tu as choisi un tableau de type TStrings ou Max(MaString) et Min(MaString)

    bye.

  3. #3
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 374
    Points : 3 150
    Points
    3 150
    Par défaut
    Bonjour,

    tu peux aussi créer 2 variables pour stocker ces maxi et mini, puis tester tous les éléments de ton tableau :

    si le nombre est impair tu testes par rapport au mini et tu remplaces le cas échéant,

    si le nombre est pair tu testes par rapport au maxi et tu remplaces le cas échéant.

    Mais on ne va pas faire ton exercice à ta place , on peut t'aider à corriger ton code si tu le postes

    A+

    Charly

  4. #4
    Membre confirmé
    Homme Profil pro
    Santé
    Inscrit en
    Septembre 2010
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Santé
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2010
    Messages : 290
    Points : 534
    Points
    534
    Par défaut
    uses Math;

    function MinIntValue(constData: array of Integer): Integer;

    function MaxIntValue(constData: array of Integer): Integer;

  5. #5
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 573
    Points : 25 206
    Points
    25 206
    Par défaut
    Si c'est un devoir d'école, tu devrais écrire ton algo en français sur une feuille de papier !

    Déjà, Savoir si Paire ou Impaire, Odd c'est pratique mais cela équivalent à Valeur Modulo 2 égale 0.

    ça donnerait

    Initialisation :
    - PlusGrandPair prend valeur plus petit Entier "Low(Integer)"
    - PlusPetitImpair prend valeur plus grand Entier "High(Integer)"

    Code Algo : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Algo:
    pour toute valeur du tableau
      Si Valeur en Cours est Paire
      Alors
        Si PlusGrandPair est plus petit que Valeur Paire en Cours
        Alors
          PlusGrandPair reçoit ValeurPairEnCours
        FinSi
      Sinon Valeur en Cours est Impaire
        Si PlusPetitImpair est plus grand que Valeur Impaire en Cours
        Alors
          PlusPetitImpair reçoit ValeurImpairEnCours
        FinSi
      FinSi
    Utiliser des fonctions toutes prêtes n'a pas d'intérêt, ni même pomper du code "sur le Net", quand tu seras devant ton contrôle, tu n'auras pas les forumers pour t'aider !

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci pour vos réponse !
    Pour être franc je suis en Erasmus en Lettonie. Ce sont mes premiers cours d'infos et l'anglais ne m'aide pas vraiment à comprendre Et pomper sur internet n'est pas vraiment un problème puisque nous n'avons pas de test final ! Mais par principe je préfère essayer de comprendre, j'ai 10h de cours par semaine donc je peux essayer de réfléchir un peu !
    J'ai enfin réussis. J'ai piqué des idées un peu de partout. J'ai classé mon tableau par ordre croissant et j'en ai extrait le premier impaire et le dernier paire avec la fonction modulo.

    Étant donné votre précieuse aide je vais vous demander conseil sur un autre programme. Je doit demander à l'utilisateur d'écrire un texte et mon programme doit supprimer tout ce qui est entre parenthèses. Mon programme cherche la première et la dernière parenthèse et supprime l’intérieur. Il fonctionne donc aussi avec les parenthèses imbriquées.
    Mais mon prof m'as fait remarqué qu'en revanche il ne fonctionne pas si j'ai plusieurs parenthèses avec du texte au milieu... Il supprime aussi tout le texte. J'ai essayé de changer mais j'ai toujours un problème... Voici mon résultat pour l'instant :


    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
    26
    27
    28
    Var
    Stot, S1,S2: string         ;
    X, Y, N, i: integer         ;
     
    Begin
     
      Writeln ('Text : ',Stot)  ;
      Readln(Stot)              ;
     
     
      X:=Pos('(',Stot)          ;
      Inc(x)                    ;
     
     
      for i:=length(Stot) downto 1 do begin
        If (Stot[i]=')') then
          Begin
             Y:=i               ;
             break              ;
          End                   ;
          End                    ;
     
      N:=Y-X                    ;
      Delete(Stot,X,N)          ;
      Writeln(Stot)             ;
      Readln                    ;
     
    End.

  7. #7
    Membre éprouvé Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    Août 2008
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : Août 2008
    Messages : 1 606
    Points : 1 113
    Points
    1 113
    Par défaut
    Citation Envoyé par just1smash Voir le message
    Merci pour vos réponse !
    Pour être franc je suis en Erasmus en Lettonie. Ce sont mes premiers cours d'infos et l'anglais ne m'aide pas vraiment à comprendre Et pomper sur internet n'est pas vraiment un problème puisque nous n'avons pas de test final ! Mais par principe je préfère essayer de comprendre, j'ai 10h de cours par semaine donc je peux essayer de réfléchir un peu !
    J'ai enfin réussis. J'ai piqué des idées un peu de partout. J'ai classé mon tableau par ordre croissant et j'en ai extrait le premier impaire et le dernier paire avec la fonction modulo.
    GG

    Citation Envoyé par just1smash Voir le message
    Étant donné votre précieuse aide je vais vous demander conseil sur un autre programme. Je doit demander à l'utilisateur d'écrire un texte et mon programme doit supprimer tout ce qui est entre parenthèses. Mon programme cherche la première et la dernière parenthèse et supprime l’intérieur. Il fonctionne donc aussi avec les parenthèses imbriquées.
    Mais mon prof m'as fait remarqué qu'en revanche il ne fonctionne pas si j'ai plusieurs parenthèses avec du texte au milieu... Il supprime aussi tout le texte. J'ai essayé de changer mais j'ai toujours un problème... Voici mon résultat pour l'instant :

    Tu devrais ouvrir un autre topic et mettre celui-ci comme résolu.

    Bref : pour faire ce que tu demande il existe déjà des fonctions toute faite.
    StringReplace par exemple, je te propose d'aller voir comment cette dernière est faite pour la comprendre.

    bye

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

Discussions similaires

  1. [Turbo Pascal] Nombres pairs et impairs dans un tableau
    Par 159753 dans le forum Turbo Pascal
    Réponses: 16
    Dernier message: 18/03/2009, 16h48
  2. Extraire un nombre aléatoire d'un tableau
    Par lolow dans le forum LabVIEW
    Réponses: 10
    Dernier message: 29/05/2007, 17h01
  3. Compter le nombre d'élément dans un tableau
    Par cryptorchild dans le forum Langage
    Réponses: 6
    Dernier message: 08/07/2005, 13h01
  4. Nombre de dimensions d'un tableau multidimensionnel
    Par Bruno75 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 08/07/2005, 10h03
  5. [LG]Extraire des nombres d'une chaine
    Par audreym31 dans le forum Langage
    Réponses: 4
    Dernier message: 18/01/2004, 21h24

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