Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
1
Exercice
6
Écrivez
et
testez
la
fonction
min
suivante
qui
renvoie
le
plus
petit
des
quatre
nombres
entiers
donnés
:
int
min(int,int,int,int);
Exercice
7
Voici
une
fonction
avec
deux
paramètres.
Elle
renvoie
la
plus
grande
des
deux
valeurs
qui
lui
ont
été
transmises.
int
max(int
x,int
y)
{
//
renvoie
le
plus
grand
des
deux
entiers
donnés
if
(x
<
y)
return
y;
else
return
x;
}
int
main(
)
{
//
teste
la
fonction
max()
int
m,n;
do
{
cin
>>
m
>>
n;
cout
<<
"\tmax("
<<
m
<<
","
<<
n
<<
")
=
"
<<
max(m,n)
<<
endl;
}
while
(m
!=
0);
}
Ecrire
et
tester
la
function
int
max(int,
int,
int,
int)
pour
trouver
le
maximum
de
quatre
entiers
en
utilisant
la
fonction
max(int,
int)
ci-‐dessus.
Exercice
8
Écrivez
et
testez
la
fonction
suivante
:
void
append(int
a[],
int
m,
int
b[],
int
n)
;
La
fonction
ajoute
les
n
premiers
éléments
du
tableau
b
à
l'extrémité
des
m
premiers
éléments
du
tableau
a.
Elle
suppose
que
le
tableau
a
a
de
la
place
pour
au
moins
m
+
n
éléments.
Par
exemple,
si
a
est
{22,33,44,55,66,77,88,99}
et
que
b
est
{20,30,40,50,60,70,80,90},
alors
l'appel
append(a,5,b,3)
transformera
a
en
{22,33,44,55,66,20,30,40}.
Notez
que
b
reste
inchangé
et
que
seuls
n
éléments
de
a
sont
modifiés.
Exercice
9
Écrire
une
fonction
qui
ne
renvoie
aucune
valeur
et
qui
détermine
la
valeur
maximale
et
la
valeur
minimale
d’un
tableau
d’entiers
(à
un
indice)
de
taille
quelconque.
On
prévoira
4
arguments
:
le
tableau,
sa
dimension,
le
maximum
et
le
minimum.
Pour
chacun
d’entre
eux,
on
choisira
le
mode
de
transmission
le
plus
approprié
(par
valeur
ou
par
référence).
Dans
le
cas
où
la
transmission
par
référence
est
nécessaire,
proposer
deux
solutions
:
l’une
utilisant
effectivement
cette
notion
de
référence,
l’autre
la
«
simulant
»
à
l’aide
de
pointeurs.
Écrire
un
petit
programme
d’essai.
Exercice
10
Écrire
une
fonction
qui
fournit
en
retour
la
somme
des
valeurs
d’un
tableau
de
flottants
à
deux
indices
dont
les
dimensions
sont
fournies
en
argument.
2
Exercice
11
Considérez
la
fonction
main
suivante
:
int
main()
{
int
inStock[10][4];
int
alpha[20];
int
beta[20];
int
gamma[4]
=
{11,
13,
15,
17};
int
delta[10]
=
{3,
5,
2,
6,
10,
9,
7,
11,
1,
8};
.
.
.
}
a.
Écrire
la
définition
de
la
fonction
setZero
qui
initialise
tout
tableau
unidimensionnel
de
type
int
à
0.
b.
Ecrire
la
définition
de
la
fonction
inputArray
qui
invite
l'utilisateur
à
entrer
20
nombres
entiers
et
stocke
les
nombres
en
alpha.
c.
Ecrire
la
définition
de
la
fonction
doubleArray
qui
initialise
les
éléments
de
beta
à
deux
fois
les
éléments
correspondants
en
alpha.
Assurez-‐vous
que
vous
empêchez
la
fonction
de
modifier
les
éléments
d'alpha.
d.
Écrire
la
définition
de
la
fonction
copyGamma
qui
définit
les
éléments
de
la
première
ligne
de
inStock
avec
les
éléments
de
gamma
et
les
lignes
restantes
de
inStock
à
trois
fois
la
rangée
précédente
de
inStock.
Assurez-‐vous
que
vous
empêchez
la
fonction
de
modifier
les
éléments
de
gamma.
e.
Ecrire
la
définition
de
la
fonction
copyAlphaBeta
qui
stocke
alpha
dans
les
cinq
premières
lignes
de
inStock
et
beta
dans
les
cinq
dernières
lignes
de
inStock.
Assurez-‐vous
que
vous
empêchez
la
fonction
de
modifier
les
éléments
alpha
et
beta.
f.
Ecrire
la
définition
de
la
fonction
printArray
qui
imprime
tout
tableau
unidimensionnel
de
type
int.
Imprimer
15
éléments
par
ligne.
g.
Ecrire
la
définition
de
la
fonction
setInStock
qui
invite
l'utilisateur
à
entrer
les
éléments
pour
la
première
colonne
de
inStock.
La
fonction
devrait
ensuite
définir
les
éléments
dans
les
colonnes
restantes
à
deux
fois
l'élément
correspondant
dans
la
colonne
précédente,
moins
l'élément
correspondant
dans
delta.
h.
Écrire
des
instructions
C++
qui
appellent
chacune
des
fonctions
dans
les
parties
a
à
g.
Ecrire
un
programme
C++
qui
teste
la
fonction
principale
et
les
fonctions
discutées
dans
les
parties
a
à
g.
(Ajoutez
des
fonctions
supplémentaires,
telles
que
l'impression
d'un
tableau
à
deux
dimensions,
si
nécessaire).
3