Comment créer ce programme?

Fermé
Clark - 14 oct. 2007 à 20:21
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 22 oct. 2007 à 19:52
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!
A voir également:

36 réponses

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
sfel Messages postés 1640 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 juillet 2009 430
14 oct. 2007 à 20:23
ton chiffre U fais toujours 4 chiffres ??
0
darwin42 Messages postés 262 Date d'inscription mercredi 15 janvier 2003 Statut Membre Dernière intervention 21 juillet 2008 67
14 oct. 2007 à 20:48
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...
0
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sfel Messages postés 1640 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 juillet 2009 430
14 oct. 2007 à 20:51
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
0
sfel Messages postés 1640 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 juillet 2009 430
14 oct. 2007 à 20:53
a oui, donc t'es en VB vu ton Dim

j'avai pas demandé
0
Oui dsl j'aurai du préciser pour le VBE.
Sa m'a l'air pas mal ta solution Darwin.Je vais essayer!
0
Mille merci!!!
0
de rien :)
0
th1_man Messages postés 28 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 24 juillet 2008
15 oct. 2007 à 00:03
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;
}
0
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.
0
th1_man Messages postés 28 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 24 juillet 2008
15 oct. 2007 à 00:21
mrd clark j't'attend depuis tout a l'heur :-<
0
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.
0
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!
0
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
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
15 oct. 2007 à 09:27
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)
0
th1_man Messages postés 28 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 24 juillet 2008
15 oct. 2007 à 10:22
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...
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
15 oct. 2007 à 11:12
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.
0
J'essaie de suite ta solution th1_man ;)

Et si possible,de voir si long résout le probleme de grandeur de U.
0
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
0