Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Re : Re: vector, variable globale, fonctions

1 réponse
Avatar
Michael DOUBEZ
Le mardi 14 juin 2011 13:18:19 UTC+2, Olivier BURELLI a =E9crit=A0:
> >=20
> > J'ai l'impression que l'=E9nonc=E9 de l'exercice ne fait pas intervenir=
de
> > vector<> mais seulement deux valeurs =E0 comparer.
> >=20
> > [snip: code]
>=20
> En fait, ces exercices font suite =E0 un chapitre o=F9 y est abord=E9 les
> six points suivants :
>=20
> * Traitement des donn=E9es
> * Objectifs et outils (1 donner des resultats juste, 2 simples, 3
> efficace)
> * Expressions
> * Instructions
> * fonctions
> * vector
>=20
> Ne sachant pas comment trier hormis avec les =E9l=E9mnts acquis dans ce
> chapitre avec un vector et la fonction sort, il me semblait =E9vident que
> je devais utiliser un vector.

L'intitul=E9 est "m=E9moriser la plus petite et la plus grande"; tu n'as pa=
s besoin de toutes les m=E9moriser:

if( premiereValeurLue )
{
minValue =3D maxValue =3D value;
premiereValeurLue =3D false;
}
else
{
if( value < minValue ) minValue =3D value;
if( value > maxValue ) maxValue =3D value;
}

> effectivement, je me penche plus avant sur la mise en place de fonction.
>
> Les r=E9f=E9rences ne sont pas acquises, m=EAme si j'en ai une connaissan=
ce
> par une autre lecture.

Dans ce cas, l'utilisation de globales n'est pas choquante.
=20
> Apparement il est necessaire que j'=E9pure mon code... :p

Comme tout code (et codeur) qui a =E9volu=E9 :)

> en mode texte, le copier coller n'est pas bon dans le client de
> messagerie.

Tu peux ne poster que la partie qui pose probl=E8me et utiliser le site:
http://codepad.org/
pour avoir une URL vers le code en entier.

--=20
Michael

1 réponse

Avatar
Olivier BURELLI
Le Tue, 14 Jun 2011 04:26:53 -0700 (PDT),
Michael DOUBEZ a écrit :


L'intitulé est "mémoriser la plus petite et la plus grande"; tu n'as
pas besoin de toutes les mémoriser:



apparement je n'ai pas compris cela.

Je me rends compte effetivement avoir
peut être mal compris l'ennoncé après l'avoir recopiée ci-dessous. J'ai
suivi les reccomendations qui étaient de réaliser et ne pas lire la
suite du code...

j'aurai donc du faire une boucle qui compte le nombre de saisie et
n'utiliser le vector uniquement pour les question 10 et 11.

Le test du plus grand et plus petit nombre ne concernent que ceux
saisie. Devant uiquement mémoriser que ces deux valeurs.


voici mon code épuré, mais je vais reprendre du début puisqu e le code
ne correspond pas a ce qui est demandé :

http://codepad.org/nrGdxCwz



Je recopie ici l'intitulé exact :

1) Ecrivez un programme consistant en une boucle while qui (à chaque
passage dans la boucle) lit deux ints, pui sles affiche. Le programme
doit quitter à la saisie d'un "|" final.

2) Modifiez le programme pour qu'il affiche "La plus petite valeur
est :" suivi du plus petit des nombres et "La plus grande valeur est :"
suivi du plus grand.

3) ajoutez ce qu'il faut pour que le programme affiche la ligne "les
nombres sont égaux" (si et seulement si) ils sont égaux.

4) Modifiez le programme pour qu'il utilise des doubles et non des ints.

5) Modifier le programme pour qu'il affiche les nombres sont presque
égaux après avoir affiché le plus grand et le plus petit, si les deux
nombres diffèrent de 1.0 / 100

6) Modifiez maintenant le corps de la boucle afin qu'elle ne lise qu'un
double à chaque passage. Définissez deux variables pour mémo riser la
plus petite et la plus grande valeurs lues jusqu'à présent. A cha que
passage, affichez la valeur entrée. Si c'est le plus petit double
lu jusqu'ici, affichez "le plus petit jusqu'ici" suivi du plus petit
nombre lu. Si c'est le plus grand jusqu'ici affichez "Le plus grand
jusqu'ici"

7) Ajoutez une unité à chaque double saisie. Autrement dit saisis sez
des valeurs comme 10 cm, 2.5po, 5pi ou 3.32 m, mais acceptez aussi les
versions sans espaces comme 10cm ou 2.5po. Acceptez les quatres unités
(cm, m, po, pi). Supposez les facteurs de conversions : 1m == 100 cm ;
1 po == 2.54 cm ; 1 pi = 12 po. Placez le symbole de l'unité dan s une
string.

8) rejetez les valeurs sans unités


il me reste à faire :

9) gardez la trace de la somme des valeurs, entrées (ainsi que de la
plus grande et de la plus petite et du nombre de valeurs. Quand la
boucle se termine, Affichez la plus petite valeur, la plus grande, le
nombre de valeur et leur somme. Notez que pour la somme vous devez
utilisez l'unité employé, vous devez décidé d'adopter d es metres.

10) Mémoriser toutes les valeurs entrée convertis en metre dans un
vector. A la fin affichez ces valeurs.

11 Avant d'afficher les valeurs du vector, triez les dans l'ordre
croissant.