aboutsummaryrefslogtreecommitdiff
path: root/semestre 2/informatique/tme/semaine6
diff options
context:
space:
mode:
Diffstat (limited to 'semestre 2/informatique/tme/semaine6')
-rw-r--r--semestre 2/informatique/tme/semaine6/iter.c13
-rw-r--r--semestre 2/informatique/tme/semaine6/rec.c12
-rw-r--r--semestre 2/informatique/tme/semaine6/rec_2.c16
-rw-r--r--semestre 2/informatique/tme/semaine6/rec_str.c19
4 files changed, 60 insertions, 0 deletions
diff --git a/semestre 2/informatique/tme/semaine6/iter.c b/semestre 2/informatique/tme/semaine6/iter.c
new file mode 100644
index 0000000..fd55e23
--- /dev/null
+++ b/semestre 2/informatique/tme/semaine6/iter.c
@@ -0,0 +1,13 @@
+#include <stdio.h>
+int recherche_iter(int* arr, int n, int v) {
+ int i;
+ for (i = 0; arr[i] != v && i < n; i++);
+ if (i == n) return -1;
+ return i;
+}
+
+int main() {
+ int arr[] = {1, 2, 3};
+ printf("%d\n", recherche_iter(arr, 3, 4));
+ return 0;
+}
diff --git a/semestre 2/informatique/tme/semaine6/rec.c b/semestre 2/informatique/tme/semaine6/rec.c
new file mode 100644
index 0000000..0a5bb34
--- /dev/null
+++ b/semestre 2/informatique/tme/semaine6/rec.c
@@ -0,0 +1,12 @@
+#include <stdio.h>
+int recherche_rec(int* arr, int n, int v){
+ if (n == 0) return -1;
+ if (arr[n-1] == v) return n-1;
+ return recherche_rec(arr, n-1, v);
+}
+
+int main() {
+ int arr[] = {1, 2, 3, 5, 5};
+ printf("%d\n",recherche_rec(arr, 5, 6));
+ return 0;
+}
diff --git a/semestre 2/informatique/tme/semaine6/rec_2.c b/semestre 2/informatique/tme/semaine6/rec_2.c
new file mode 100644
index 0000000..9bfd376
--- /dev/null
+++ b/semestre 2/informatique/tme/semaine6/rec_2.c
@@ -0,0 +1,16 @@
+#include <stdio.h>
+int recherche_rec_aux (int* tab, int n,int i, int v) {
+ if (i == n) return -1;
+ if (tab[i] == v) return i;
+ return recherche_rec_aux(tab, n, i+1, v);
+}
+
+int recherche_rec (int tab[], int taille, int elem) {
+ return recherche_rec_aux (tab, taille, 0, elem);
+}
+
+int main() {
+ int arr[] = {1, 2, 3};
+ printf("%d\n", recherche_rec(arr, 3, 0));
+ return 0;
+}
diff --git a/semestre 2/informatique/tme/semaine6/rec_str.c b/semestre 2/informatique/tme/semaine6/rec_str.c
new file mode 100644
index 0000000..a920af3
--- /dev/null
+++ b/semestre 2/informatique/tme/semaine6/rec_str.c
@@ -0,0 +1,19 @@
+#include <stdio.h>
+int est_deb(char* s1, char* s2) {
+ if (*s1 == '\0' || *s2 =='\0') return 1;
+ if (*s1 != *s2) return 0;
+ return est_deb(s1+1, s2+1);
+}
+
+int est_incluse(char *sub, char* s) {
+ if (*s == '\0') return 0;
+ return est_deb(sub, s) ? 1 : est_incluse(sub, s+1);
+}
+
+int main() {
+ printf("%d\n", est_deb("alpha", "alphabet"));
+ printf("%d\n", est_deb("alpaga", "alphabet"));
+ printf("%d\n", est_incluse("alp", "alphabet"));
+ printf("%d\n", est_incluse("apl", "alphabet"));
+ return 0;
+}