Comment créer ce programme?

Bonjour,alors voilà,j'ai un ptit souci,ou plutot je sèche ^^
Pouvez vous m'aider la dessus:

Elaborer une procédure qui recherche le plus grand chiffre a du nombre U. Ex : si U = 1827 alors a = 8

Mercii d'avance!
Configuration: Windows XP
Internet Explorer 6.0

36 réponses

Résumé de la discussion

Le problème porte sur l'élaboration d'une procédure qui recherche le plus grand chiffre d'un nombre U, par exemple U = 1827 donne a = 8. Plusieurs réponses proposent une solution en Visual Basic consistant à convertir le nombre en chaîne et à tester chaque caractère via une boucle, en conservant le chiffre le plus grand. Des échanges rapportent aussi des considérations sur Java (import, Swing vs AWT) et des problèmes d'erreurs, ainsi que des idées sur l'affichage d'interfaces et la gestion des valeurs variables. Enfin, certains échanges évoquent des précisions techniques et des liens utiles, ainsi que des difficultés pratiques liées à l'interaction avec Excel et à l'implémentation d'une interface utilisateur.

Bobot (l’IA à votre service)
  1. Salut,
    Je verrais bien un truc dans ce style :

    - tu convertis U (qui doit être un numérique) en chaîne
    - tu fais une boucle qui va de 1 à n (où n est le nombre de caractères de U)
    - tu initialises la variable "a" à 0 => a=0
    - tu lis chaque caractère de U
    - tu convertis le caractère lu en numérique
    - si le caractère lu est supérieur à a alors a=le caractère lu

    Voilà, en gros...
    1. Pas forcément c'est un exemple .Si U a plus de 4 chiffres,je peux toujours mettre

      Dim U as Long non?
      lol ouais sa se voit que je débute.
      1. non le + simple, c'est de diviser le nombre.

        c'est pour ca que j'attende qu'il me dise si le U est toujours de 4 chiffres, code assez simple.
        ou si le U varie en taille, dans quel cas, on pousse un peu + le code
        1. Oui dsl j'aurai du préciser pour le VBE.
          Sa m'a l'air pas mal ta solution Darwin.Je vais essayer!
          1. bonsoir,

            J'ai pensé a ca :
            (pas mis les Dim ...)

            'Le nombre que tu veux
            monnombre = 1234512
            'conversion en chaine de caracteres(string)
            str_monnombre = CStr(monnombre)
            ' boucle pour tester chaque caractere
            For i = 1 To Len(str_monnombre)
            'on lit chaque caractere de la chaine
            chiffre = Mid(str_monnombre, i, 1)
            'si il est plus grand que ton plus grand chiffre, il le remplace
            If chiffre > plus_grand Then plus_grand = chiffre
            Next

            'sortie, on affiche le plus grand chiffre trouvé
            MsgBox plus_grand

            cordialement.
            1. y'a une methode toute simple(en C):

              u est un int prenant u = 1825

              int i, c=1;

              for(i=1;u/c>1;i++) //Pour connaitre le nbr de chiffre
              c=c*10;

              int max=u mod 10; //i=4
              for(;i>0;i--)
              {
              u=u/10; // mod c'est le réste de la division
              if(max<(u mod 10)) //max désigne le maximum
              max=u mod 10;
              }
              1. Ok j'essaie sa th1_man ;)
                La tienne Sly marche très bien,mais je me bas encore pour pouvoir poser n'importe quelle valeur pour U,donc a travers des fenetres de communications avec excell.
                1. J'ai essayé ta proposition th1_man,mais sa ne marche pas.
                  La tienne Sly marche très bien,mais je me cherche encore pour pouvoir poser n'importe quelle valeur pour U,donc a travers des fenetres de communications avec excell.
                  1. Arf!
                    Désolé th1_man !!!!
                    J'étais sur excell,concentré comme un jus d'orange...ouais c'est naz comme vanne.
                    Donc ben je connaissais la fonction mod,mais je ne savais pas encore comment l'intégrer.Je continue donc de bosser donc sur le tien,et celle de Sly.
                    Encore merci!
                    1. bonsoir
                      je veux faire une gestion d'etudiants avec une interface en java
                      j'ai fait une classe etudiant dont j'ai créé un étudiant puis j'ai une classe fenetre qui contient des bouttons ( ajouter un etudiant,supprimer,chercher,afficher,quitter)
                      et ya aussi dans un autre fichier une classe dialogue qui gere une fenetre de dialog qui contient des label et des textfield pour le nom , le prenom,le numéro d'etudiants et qui s'affiche lors de l'appui sur les bouttons de la fenetre g fé aussi une classe main pour instancier un objet fenetre et un objet dialogue et la je veux gérer mes evenements dans une classe event pour les bouttons mais je c faire que le boutton quitter et les autres je c pas quoi faire pour eux
                      veuillez me repondre svp j'ai vraiment besoin de vous
                      merci poue tous
                      1. Bonjour Sema,

                        Dans ta classe Fenetre, tu déclare un écouteur pour chaque bouton.

                        import Fenetre;

                        public class Fenetre {

                        ......

                        Event event = new Event(this);

                        bouton1.addActionListener(event); //écouteur
                        bouton2.addActionListener(event);

                        ....
                        }

                        Ta classe Event doit implémenter ActionListener.

                        public class Event implements ActionListener{

                        Fenetre parent;

                        // contructeur
                        public Event(Fenetre parent){
                        this.parent = parent;
                        }

                        // gestion des évènements après click sur un bouton
                        public void actionPerformed(ActionEvent event){

                        Object sourceEvent = event.getSource();

                        if (sourceEvent == parent.monBouton1){

                        // ici le code pour l'action sur le bouton1

                        }

                        if (sourceEvent == parent.monBouton2){

                        // ici le code pour l'action sur le bouton2

                        }
                        .....
                        }

                        }

                        bon courage

                        :o)
                        1. voilà une vérsion qui marche,,, hier c'été du travail baclée:

                          #include<stdio.h>
                          void main()
                          {
                          int i, c=1, u; //prenant u=1890

                          scanf("%d", &u); //nbr de chiffre de u ne doit pas dépassé 6 sinon LOL
                          for(i=1;u/c>1;i++) //Pour connaitre le nbr de chiffre
                          c=c*10;
                          //i=4
                          int max=u % 10; // % designe mod qui donne le réste de la division
                          for(;i>0;i--)
                          {
                          u=u/10;
                          if(max<(u % 10)) //max désigne le maximum
                          max=u % 10;
                          }
                          printf("Le max= %d",max);
                          }

                          voilà le prog, mais souvient toi u ne doit pas dépasser 6 chiffres, sinon la méthodes des chaines de caractéres sera + éfficaçe...
                          1. th1_man, ta solution me parait bonne (je ne l'ai pas testée) mais il existe une incertidute : le nombre de chiffre dans u, la variable a traité. Dans ce cas, il ne faut pas hésiter, il faut passer par la chaîne de caractères ou changer le type de variable u en long.
                            1. J'essaie de suite ta solution th1_man ;)

                              Et si possible,de voir si long résout le probleme de grandeur de U.
                              1. merci bien Polux31

                                ya un probleme sur cette instruction : Event event = new Event(this);
                                et meme dans le main quand j'instancié des objets => erreur je c pas pourquoi par exp
                                Frame1 fenetre = new Frame1();
                                Dialogue fenetre2 = new Dialogue(fenetre);
                                ça aussi donne la meme erreur
                                es que tu peux me donné les codes pour créer les actions sur les bouttons
                                et la variable monbouton1 où doit elle se trouvée
                                • 1
                                • 2