Skip to content
Snippets Groups Projects
Commit 0bc4fa38 authored by Aladin Virmaux's avatar Aladin Virmaux
Browse files

struct_hard

parent ee0dc994
No related branches found
No related tags found
No related merge requests found
......@@ -28,7 +28,7 @@ Ce module est d
Le répertoire `<data/>`_ contient des programmes C++, qui peuvent être de deux types.
Pour les programmes du premier type, l'utilisateur doit deviner la sortie du programme.
Ces programmes sont nommés sous la forme ``<theme>_<nom>.cpp``.
Les programme du decuième type doivent lire un entier entre
Les programme du deuxième type doivent lire un entier entre
0 et 99 sur l'entrée standard, et l'utilisateur doit deviner lequel
donne 42; pour l'instant cet entier doit être unique.
Ces programmes sont nommés ``<theme>_<nom>_input.cpp``
......@@ -144,9 +144,9 @@ Pour installer des exercices OEF dans un module :
1. Créer un module de type OEF
2. Pour chaque exercice, créer dans le module un nouveau fichier
d'extension oef dans le répertoire src/ (exemple : src/euclide.oef).
Une zone de texte apparaît ; y écrire (ou coller) le texte source
2. Pour chaque exercice, créer dans le module un nouveau fichier
d'extension oef dans le répertoire src/ (exemple : src/euclide.oef).
Une zone de texte apparaît ; y écrire (ou coller) le texte source
de l'exercice. Enregistrer les changements.
3. Tester le module.
......@@ -157,7 +157,7 @@ Pour installer des exercices OEF dans un module :
%%%%%% Pour utiliser directement le module sur un serveur WIMS local,
1- Mettre le template à la bonne place,
1- Mettre le template à la bonne place,
en changeant le nom.
2. Modifier intro.phtml
......@@ -167,6 +167,6 @@ en changeant le nom.
4. Installer les fichiers sources.
5. Exécuter le script $wims_home/other/bin/src2def. (Cette étape
doit être répétée à chaque fois que les fichiers sources sont modifiés).
doit être répétée à chaque fois que les fichiers sources sont modifiés).
#include <iostream>
using namespace std;
struct obif {
int a;
int b;
int c;
int d;
};
obif step(obif m) {
obif nouveau;
nouveau.a = m.a*m.a + m.b*m.c;
nouveau.b = m.b * (m.a + m.d);
nouveau.c = m.c * (m.a + m.d);
nouveau.d = m.d*m.d + m.b*m.c;
return nouveau;
}
int main() {
obif truc = {1, 1, 1, 0};
for (int p = 3; p > -3; p = p-2) {
truc = step(truc);
}
cout << truc.b << endl;
return 0;
}
#include <iostream>
using namespace std;
struct cerise {
int queue;
int gauche;
int droite;
};
struct cerisier {
cerise cerise_gauche;
int top;
cerise cerise_droite;
};
void initialise_cerise(cerise &miam, int val) {
miam.queue = val;
miam.gauche = val - 1;
miam.droite = val + 1;
}
void initialise_cerisier(cerisier &tree, int val) {
tree.top = val;
initialise_cerise(tree.cerise_gauche, val - 2);
initialise_cerise(tree.cerise_droite, val + 2);
}
int somme_cerise(cerise miam) {
return miam.queue + miam.gauche + miam.droite;
}
int main() {
int n;
cerisier tree;
cin >> n;
initialise_cerisier(tree, n);
cout << tree.top + somme_cerise(tree.cerise_gauche) + somme_cerise(tree.cerise_droite) << endl;
return 0;
}
#include <iostream>
using namespace std;
struct blob {
string nom;
int a;
int b;
int lg;
bool lock;
};
void swap(blob &x) {
char tmp;
tmp = x.nom[x.a];
x.nom[x.a] = x.nom[x.b];
x.nom[x.b] = tmp;
x.a = (x.a + x.b) % x.lg;
x.b = (x.a*x.b) % x.lg;
if (x.a == x.b)
x.lock = true;
}
int main() {
blob truc = {"info121rocks",
3,
5,
12,
false};
while (!truc.lock) swap(truc);
cout << truc.nom << endl;
return 0;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment