diff --git a/test~coding~readingCppPrograms.fr/data/struct_gros_1.cpp b/test~coding~readingCppPrograms.fr/data/struct_gros_1.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..8084057d7552483848074e6e8f1f7a12c5fba581
--- /dev/null
+++ b/test~coding~readingCppPrograms.fr/data/struct_gros_1.cpp
@@ -0,0 +1,41 @@
+#include <iostream>
+
+using namespace std;
+
+struct Point2D {int x,y; };
+
+struct List2D {
+    string id_nuage;
+    Point2D nuage[3];
+};
+
+Point2D Myst(List2D liste)
+{
+    Point2D candidat=liste.nuage[0];
+
+    for (unsigned int i = 1; i < 3; i++)
+    {
+        if (liste.nuage[i].x > candidat.x)
+            candidat = liste.nuage[i];
+    }
+    return candidat;
+}
+
+Point2D nouveaupoint(int x,int y)
+{
+    Point2D p={x,y};
+    return p;
+}
+
+int main() {
+    List2D liste;
+    liste.id_nuage="Cumulonimbus";
+
+    liste.nuage[0]=nouveaupoint(1,2);
+    liste.nuage[1]=nouveaupoint(5,12);
+    liste.nuage[2]=nouveaupoint(3,24);
+
+    cout << Myst(liste).y << endl;
+    return 0;
+}
+
diff --git a/test~coding~readingCppPrograms.fr/data/struct_gros_2.cpp b/test~coding~readingCppPrograms.fr/data/struct_gros_2.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..8f8fe8f14a730ef4be1d0bac9a4de6f56f8f0fc2
--- /dev/null
+++ b/test~coding~readingCppPrograms.fr/data/struct_gros_2.cpp
@@ -0,0 +1,41 @@
+#include <iostream>
+
+using namespace std;
+
+struct Point2D {int x,y; };
+
+struct List2D {
+    string id_nuage;
+    Point2D nuage[3];
+};
+
+Point2D Myst(List2D liste)
+{
+    Point2D candidat=liste.nuage[0];
+
+    for (unsigned int i = 1; i < 3; i++)
+    {
+        if (liste.nuage[i].y < candidat.y)
+            candidat = liste.nuage[i];
+    }
+    return candidat;
+}
+
+Point2D nouveaupoint(int x,int y)
+{
+    Point2D p={x,y};
+    return p;
+}
+
+int main() {
+    List2D liste;
+    liste.id_nuage="Cumulonimbus";
+
+    liste.nuage[0]=nouveaupoint(1,2);
+    liste.nuage[1]=nouveaupoint(5,12);
+    liste.nuage[2]=nouveaupoint(3,24);
+
+    cout << Myst(liste).x << endl;
+    return 0;
+}
+
diff --git a/test~coding~readingCppPrograms.fr/data/struct_gros_3.cpp b/test~coding~readingCppPrograms.fr/data/struct_gros_3.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..3c2c0b469a8a0921657bba8ad77b45cd380b91d6
--- /dev/null
+++ b/test~coding~readingCppPrograms.fr/data/struct_gros_3.cpp
@@ -0,0 +1,41 @@
+#include <iostream>
+
+using namespace std;
+
+struct Point2D {int x,y; };
+
+struct List2D {
+    string id_nuage;
+    Point2D nuage[3];
+};
+
+Point2D Myst(List2D liste)
+{
+    Point2D candidat=liste.nuage[0];
+
+    for (unsigned int i = 1; i < 3; i++)
+    {
+        if (liste.nuage[i].y <= candidat.y)
+            candidat = liste.nuage[i];
+    }
+    return candidat;
+}
+
+Point2D nouveaupoint(int x,int y)
+{
+    Point2D p={x,y};
+    return p;
+}
+
+int main() {
+    List2D liste;
+    liste.id_nuage="Cumulonimbus";
+
+    liste.nuage[0]=nouveaupoint(1,2);
+    liste.nuage[1]=nouveaupoint(5,2);
+    liste.nuage[2]=nouveaupoint(3,24);
+
+    cout << Myst(liste).x << endl;
+    return 0;
+}
+