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