From 54b971cd87a5c30eff287b57e64f51ae3c763e8c Mon Sep 17 00:00:00 2001 From: Arkitu Date: Tue, 23 Sep 2025 16:10:17 +0200 Subject: [PATCH] tp2 exo 1-4 --- tp2/exo1.c | 16 ++++++++++++++++ tp2/exo2.c | 15 +++++++++++++++ tp2/exo3.c | 19 +++++++++++++++++++ tp2/exo4.c | 19 +++++++++++++++++++ 4 files changed, 69 insertions(+) create mode 100644 tp2/exo1.c create mode 100644 tp2/exo2.c create mode 100644 tp2/exo3.c create mode 100644 tp2/exo4.c diff --git a/tp2/exo1.c b/tp2/exo1.c new file mode 100644 index 0000000..2b21057 --- /dev/null +++ b/tp2/exo1.c @@ -0,0 +1,16 @@ +#include +#include + +void f(int *a, int *b) { + *a = *a ^ *b; + *b = *a ^ *b; + *a = *a ^ *b; +} + +int main() { + int a = 94; + int b = 247; + printf("Before swap : a=%d | b=%d\n", a, b); + f(&a, &b); + printf("After swap : a=%d | b=%d\n", a, b); +} diff --git a/tp2/exo2.c b/tp2/exo2.c new file mode 100644 index 0000000..307f8df --- /dev/null +++ b/tp2/exo2.c @@ -0,0 +1,15 @@ +#include +#include + +int f(int t[]) { + t[0] = t[0] ^ t[1]; + t[1] = t[0] ^ t[1]; + t[0] = t[0] ^ t[1]; +} + +int main() { + int t[3] = {3, 6, 7}; + printf("t = {%d, %d, %d}\n", t[0], t[1], t[2]); + f(t); + printf("t = {%d, %d, %d}\n", t[0], t[1], t[2]); +} diff --git a/tp2/exo3.c b/tp2/exo3.c new file mode 100644 index 0000000..8ddf795 --- /dev/null +++ b/tp2/exo3.c @@ -0,0 +1,19 @@ +#include +#include + +void f(int t[], uint len) { + uint i = 0; + while (i + 1 < len) { + t[i] = t[i] ^ t[i + 1]; + t[i + 1] = t[i] ^ t[i + 1]; + t[i] = t[i] ^ t[i + 1]; + i++; + } +} + +int main() { + int t[3] = {3, 6, 7}; + printf("t = {%d, %d, %d}\n", t[0], t[1], t[2]); + f(t, 3); + printf("t = {%d, %d, %d}\n", t[0], t[1], t[2]); +} diff --git a/tp2/exo4.c b/tp2/exo4.c new file mode 100644 index 0000000..7375791 --- /dev/null +++ b/tp2/exo4.c @@ -0,0 +1,19 @@ +#include +#include + +int f(int t[], uint len, int x) { + uint i = 0; + while (i < len) { + if (t[i] == x) { + return i; + } + i++; + } + return -1; +} + +int main() { + int t[3] = {3, 6, 7}; + printf("emplacement de 6 : %d\n", f(t, 3, 6)); + printf("emplacement de 4 : %d\n", f(t, 3, 4)); +}