Voici une feuille complÚte de 15 exercices progressifs sur le passage de paramÚtres par valeur, par référence, et les types transmis par adresse (tableaux, chaßnes).
Ces exercices te permettent de :
& et * correctement ;Ăcris une fonction incrementer(int x) qui augmente x de 1.
Dans main, montre que la variable originale ne change pas.
Ăcris une fonction incrementerRef qui augmente une variable de 1.
Dans main, montre que la variable originale est modifiée.
Ăcris une fonction doubler qui multiplie une variable par 2.
Test :
x = 7 â doubler â x = 14
Ăcris une fonction raz qui met une variable Ă 0.
Ăcris une fonction maximum qui renvoie le plus grand.
Montre quâelle ne modifie pas les variables envoyĂ©es.
MĂȘme exercice que le prĂ©cĂ©dent, mais cette fois ta fonction trier doit mettre dans a le minimum et dans b le maximum.
Exemple :
a = 12, b = 5 â a = 5, b = 12.
Ăcris une fonction echanger.
AprĂšs lâappel, les valeurs doivent ĂȘtre inversĂ©es.
Test :
a = 5, b = 8 â a = 8, b = 5.
Ăcris une fonction majPremier qui transforme texte[0] en majuscule.
Test :
"alice" â "Alice".
Ăcris une fonction int compterVoyelles.
Appelle-la depuis main et affiche le résultat.
Ăcris une fonction remplacer qui modifie directement la chaĂźne.
Test :
"banane" â "b@n@ne".
Ăcris une fonction int somme qui renvoie la somme des cases.
Montre dans main que le tableau nâest pas modifiĂ© (passage par rĂ©fĂ©rence mais lecture seulement).
Ăcris une fonction vider qui met toutes les valeurs Ă 0.
Test :
{4, 1, 9} â {0, 0, 0}.
Ăcris une fonction indexMax. Elle renvoie lâindice de la plus grande valeur.
Test : {4, 9, 7} â retourne 1.
â ïž Le tableau est passĂ© par rĂ©fĂ©rence, mais tu ne dois rien modifier.
Ăcris une fonction :
void echangerCases(int tab[], int i, int j);
Elle échange les cases tab[i] et tab[j].
Test :
tab = {1, 2, 3, 4}, i = 1, j = 3
â {1, 4, 3, 2}.
int *, char[] ou int tab[] agissent directement sur les données du main.