Skip to content
Snippets Groups Projects
Commit 5e266e05 authored by Pierre Kunzli's avatar Pierre Kunzli
Browse files

ajout d'exercices d'algo

parent a6640940
Branches
No related tags found
No related merge requests found
......@@ -3,3 +3,29 @@
## Exercice 1
Ecrivez en C un programme complet, sans fonction, qui imprime tous les nombres premiers plus petit que 1000.
## Exerice 2
Écrire un programme qui demande à l'utilisateur de taper la largeur et la longueur d'un champ et qui en affiche le périmètre et la surface.
## Exercice 3
Écrire un programme qui demande à l'utilisateur de taper 5 réels et qui affiche leur moyenne. Le programme ne devra utiliser que 2 variables.
## Exercice 4
Soit le code suivant :
```C
for(int i=0; i<100; i++){
printf("%d\n", i);
}
```
Transformer ce code en utilisant une boucle `while`.
## Exercice 5
Ecrire une fonction `bancomat` qui prend en paramètre une somme d'argent en nombre entier multiple de 10 et affiche à l'écran comment la diviser en billets de 1000, 500, 200, 100, 50, 20 et 10.
No preview for this file type
......@@ -25,3 +25,22 @@ point_t init_point_2(int v1, int v2);
qui initialise un point et le retourne.
Ecrivez un programme principal qui utilise ces deux fonctions;
## Exercice 2
Ecrire une fonction `divide` qui prend en paramètres deux nombres entiers `a` et `b` et un pointeur sur un nombre entier `res` et retourne un nombre entier.
La fonction calcule le résultat de la divison entière `a/b` et stocke le résultat dans `res`. Si `b!=0`, la fonction retourne 0, sinon elle retourne 1 et la valeur stockée dans `res` est indéfinie.
## Exercice 3
Écrire une fonction swap qui a comme paramètres deux pointeurs vers des entiers et qui échange le contenu des deux entiers pointés. Ecrire un programme qui échange le contenu de deux entiers a et b en appelant cette fonction.
## Exercice 4
Écrire une fonction qui a comme paramètres un tableau d'entiers de taille quelconque, la taille du tableau, et 2 pointeurs vers des entiers min et max. La fonction doit écrire dans les entiers pointés par min et max respectivement les plus petits et les plus grands entiers du tableau.
# Exercice 5
Écrire une fonction qui a en paramètre un tableau de nombres entiers et qui renvoie le nombre d'occurrences du nombre 10. Cette fonction devra parcourir le tableau en utilisant un pointeur.
No preview for this file type
......@@ -19,3 +19,19 @@ Que retourne `f(3, 5)` ? Quelle opération effectue cette fonction ? Expliquez v
## Exercice 2
Ecrire une fonction récursive `count`, qui prend en entrée un caractère `c` et une chaîne de caractères `str` et retourne le nombre d'occurence de `c` dans `str`;
## Exercice 3
Réecrire la fonction suivante sous forme récursive :
```C
int somme(int a){
int res = 0;
for(int i=0; i<a; i++){
res += i;
}
return res;
}
```
No preview for this file type
## Exercice 1
Écrire une fonction qui a en paramètre une chaîne de caractères et qui renvoie le nombre d'occurrences de la lettre 'A'.
## Execice 2
Ecrire une fonction donc la signature est `int palindrome(char* mot)` qui retourne 1 si la chaîne de caractères passé en paramètre est un palindrome, 0 sinon.
File added
# Tableaux
## Exercice 1
## Exercice 2
Écrire une fonction qui a en paramètre un tableau de nombres entiers et qui renvoie le nombre d'occurrences du nombre 10. Cette fonction devra parcourir le tableau sans utiliser de pointeur.
## Exercice 3
Ecrivez en C une fonction `fusion` qui prend en paramètre trois tableaux à 1 dimension
`tab1`, `tab2` et `res`. `tab1` et `tab2` sont de taille n (passé en paramètre) tandis que `res` est de taille 2n.
......@@ -14,7 +18,7 @@ tab2 : -2, -1, 4, 12
res : -2, -1, 1, 3, 4, 5, 10, 12
## Exercice 2
## Exercice 4
Ecire une fonction `initialise` qui prend un tableau à deux dimensions d'entiers en paramètre et l'initialise de la façon suivante. L'exemple a 6 lignes et 5 colonnes, mais la fonction doit fonctionner avec n'importe quelle taille de tableau.
......@@ -29,7 +33,7 @@ Ecire une fonction `initialise` qui prend un tableau à deux dimensions d'entier
| 10 | 11 | 11 | 12 | 13 |
## Exercice 3
## Exercice 5
Ecrire une fonction `initialise` qui initialise un tableau à deux dimensions d'entiers en mettant dans chaque case la somme des distances aux bords verticaux et horizontaux. On prendra dans chaun des cas (vertical et horizontal) le bord le plus proche.
......@@ -43,11 +47,11 @@ Il est interdit d'utiliser des fonctions prédéfinies comme `min` ou `max`.
| 1 | 2 | 3 | 4 | 5 | 5 | 4 | 3 | 2 | 1 |
| 0 | 1 | 2 | 3 | 4 | 4 | 3 | 2 | 1 | 0 |
## Exercice 4
## Exercice 6
On considère des tableaux à deux dimensions contenant des -1 et des 1.
Ecrire une fonction `update` qui prend en paramètre un tableau `tab_in` à deux dimensions contenant des -1 et des 1. Cette fonction alloue un tableau dynamique à deux dimensions `tab_out` de même taille et le remplit de la façon suivante avant de le retourner :
Ecrire une fonction `update` qui prend en paramètre un tableau `tab_in` à deux dimensions contenant des -1 et des 1 et un tableau `tab_out` de même taille et le remplit de la façon suivante :
- L'élément d'index `(i, j)` de `tab_out` prend la valeur :
- majoritaire des 8 éléments voisins (haut, bas, gauche, droite plus les 4 diagonales) de l'élément d'index `(i, j)` de `tab_in` s'il y a une majorité;
......
No preview for this file type
......@@ -2,7 +2,7 @@
## Exercice 1
Appliquer le tri par sélection au tableau suivant en inscrivant sur chaque ligne le résultat d'une étape complète du tri :
Appliquer le tri par sélection, insertion et à bulle au tableau suivant en inscrivant sur chaque ligne le résultat d'une étape complète du tri :
| | | | | | | | |
|---|---|---|---|---|---|---|---|
......@@ -16,4 +16,4 @@ Appliquer le tri par sélection au tableau suivant en inscrivant sur chaque lign
| | | | | | | | |
| | | | | | | | |
Quelle est la complexité du tri par sélection ?
Quelle est la complexité de ces tris ?
No preview for this file type
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment