From 5b16ef475805be50ea1e67d01b54469c0e1e9806 Mon Sep 17 00:00:00 2001 From: Alexandra Zaharia <zaharia@lri.fr> Date: Mon, 8 Feb 2016 14:42:32 +0100 Subject: [PATCH] =?UTF-8?q?Ajout=C3=A9=20exercices=20procedure=5Fcalling?= =?UTF-8?q?=5Fprocedure?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...edure_calling_procedure_0_entrainement.cpp | 33 +++++++++++++++++ .../procedure_calling_procedure_0_examen.cpp | 33 +++++++++++++++++ ...edure_calling_procedure_1_entrainement.cpp | 37 +++++++++++++++++++ .../procedure_calling_procedure_1_examen.cpp | 37 +++++++++++++++++++ 4 files changed, 140 insertions(+) create mode 100644 test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_0_entrainement.cpp create mode 100644 test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_0_examen.cpp create mode 100644 test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_1_entrainement.cpp create mode 100644 test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_1_examen.cpp diff --git a/test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_0_entrainement.cpp b/test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_0_entrainement.cpp new file mode 100644 index 0000000..03c531f --- /dev/null +++ b/test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_0_entrainement.cpp @@ -0,0 +1,33 @@ +#include <iostream> +#include <vector> + +using namespace std; + +int g(int n) { + int i, r = 0; + for (i = 1; i <=n; i++) + r += i; + return r; +} + +void f(vector<int> &t, int a, int b) { + int c; + if (a < t.size() && b < t.size()) { + c = g(t[a]); + t[a] = g(t[b]); + t[b] = c; + } +} + +int main() { + int i; + vector<int> tab = {2, 4, 5, 8}; + + f(tab, 2, 3); + + for (i = 0; i < tab.size(); i++) + cout << tab[i] << " "; + cout << endl; + + return 0; +} \ No newline at end of file diff --git a/test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_0_examen.cpp b/test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_0_examen.cpp new file mode 100644 index 0000000..5a101c0 --- /dev/null +++ b/test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_0_examen.cpp @@ -0,0 +1,33 @@ +#include <iostream> +#include <vector> + +using namespace std; + +int g(int n) { + int i, r = 0; + for (i = 1; i <=n; i++) + r += i; + return r; +} + +void f(vector<int> &t, int a, int b) { + int c; + if (a < t.size() && b < t.size()) { + c = g(t[a]); + t[a] = g(t[b]); + t[b] = c; + } +} + +int main() { + int i; + vector<int> tab = {3, 1, 2, 6}; + + f(tab, 1, 3); + + for (i = 0; i < tab.size(); i++) + cout << tab[i] << " "; + cout << endl; + + return 0; +} \ No newline at end of file diff --git a/test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_1_entrainement.cpp b/test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_1_entrainement.cpp new file mode 100644 index 0000000..a7b652f --- /dev/null +++ b/test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_1_entrainement.cpp @@ -0,0 +1,37 @@ +#include <iostream> +#include <vector> + +using namespace std; + +int g(int n) { + return (n + 1) * (n - 1); +} + +void f(vector<int> t, int a, int b, bool &c, int &d) { + if (a == b || t[a] == t[b]) c = false; + else { + if (t[a] < t[b]) { + c = true; + d = g(t[b] - t[a]); + } else { + c = false; + d = g(t[a] - t[b]); + } + } +} + +int main() { + int i; + vector<int> tab = {2, 4, 5, 8}; + bool b; + int r = -1; + int x = 2; + int y = 3; + + f(tab, x, y, b, r); + + cout << tab[x] << (b ? " < " : " >= ") << tab[y] << + ", r = " << r << endl; + + return 0; +} \ No newline at end of file diff --git a/test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_1_examen.cpp b/test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_1_examen.cpp new file mode 100644 index 0000000..04b2800 --- /dev/null +++ b/test~coding~readingCppPrograms.fr/data/procedure_calling_procedure_1_examen.cpp @@ -0,0 +1,37 @@ +#include <iostream> +#include <vector> + +using namespace std; + +int g(int n) { + return (n + 1) * (n - 1); +} + +void f(vector<int> t, int a, int b, bool &c, int &d) { + if (a == b || t[a] == t[b]) c = false; + else { + if (t[a] < t[b]) { + c = true; + d = g(t[b] - t[a]); + } else { + c = false; + d = g(t[a] - t[b]); + } + } +} + +int main() { + int i; + vector<int> tab = {3, 1, 2, 6}; + bool b; + int r = -1; + int x = 0; + int y = 2; + + f(tab, x, y, b, r); + + cout << tab[x] << (b ? " < " : " >= ") << tab[y] << + ", r = " << r << endl; + + return 0; +} \ No newline at end of file -- GitLab