From 113583b37a8c31c0cf777b263f23c8048bfa40ab Mon Sep 17 00:00:00 2001 From: stiti Date: Thu, 1 Feb 2024 13:55:03 +0100 Subject: [PATCH] Ajout des TP --- .../CM1/.vscode/c_cpp_properties.json | 18 + BUT1/CONTROLE/CM1/.vscode/launch.json | 24 + BUT1/CONTROLE/CM1/.vscode/settings.json | 37 + BUT1/CONTROLE/CM1/exo1.c | 10 + BUT1/CONTROLE/CM1/exo2.c | 9 + BUT1/CONTROLE/CM1/exo3.c | 44 + BUT1/CONTROLE/CM1/exo4.c | 18 + BUT1/CONTROLE/CM1/exo5.c | 36 + BUT1/CONTROLE/CM3/exo1/exo1.c | 51 + BUT1/CONTROLE/CM3/exo1/image.pgm | 0 BUT1/CONTROLE/CM3/exo2/exo2.c | 47 + BUT1/CONTROLE/CM3/exo3/exo3.c | 98 + BUT1/CONTROLE/stiti_CM1.tar.gz | Bin 0 -> 1997 bytes BUT1/CONTROLE/stiti_CM3.tar.gz | Bin 0 -> 2042 bytes BUT1/DEV1.1/Adresses/alphabet.c | 16 + BUT1/DEV1.1/Adresses/cartographie.c | 58 + BUT1/DEV1.1/Adresses/conversion.c | 10 + BUT1/DEV1.1/Adresses/etapes.c | 29 + BUT1/DEV1.1/Adresses/mortvivant.c | 25 + BUT1/DEV1.1/Allocation_Dynamique/1.c | 33 + BUT1/DEV1.1/Allocation_Dynamique/2.c | 11 + BUT1/DEV1.1/Bibliotheque_Math/arctique.c | 22 + BUT1/DEV1.1/Bibliotheque_Math/chiffres.c | 18 + BUT1/DEV1.1/Bibliotheque_Math/distance.c | 23 + BUT1/DEV1.1/Bibliotheque_Math/dureedevol.c | 19 + BUT1/DEV1.1/Boucles/bornes.c | 43 + BUT1/DEV1.1/Boucles/division.c | 36 + BUT1/DEV1.1/Boucles/filtrage.c | 15 + BUT1/DEV1.1/Boucles/s#U00e9quencedowhile.c | 30 + BUT1/DEV1.1/Boucles/s#U00e9quencefor.c | 29 + BUT1/DEV1.1/Boucles/s#U00e9quencewhile.c | 30 + BUT1/DEV1.1/Boucles/table.c | 15 + BUT1/DEV1.1/Boucles/tables.c | 24 + BUT1/DEV1.1/Boucles_encore/figures.c | 47 + BUT1/DEV1.1/Boucles_encore/figures2.c | 52 + BUT1/DEV1.1/Boucles_encore/sapin.c | 26 + BUT1/DEV1.1/Boucles_suite/devinette.c | 43 + BUT1/DEV1.1/Boucles_suite/facteurs.c | 33 + BUT1/DEV1.1/Boucles_suite/figures.c | 47 + BUT1/DEV1.1/Boucles_suite/primarite.c | 24 + BUT1/DEV1.1/Boucles_suite/progression.c | 32 + BUT1/DEV1.1/Boucles_suite/tables.c | 63 + .../CM2 2022/.vscode/c_cpp_properties.json | 18 + BUT1/DEV1.1/CM2 2022/.vscode/launch.json | 24 + BUT1/DEV1.1/CM2 2022/.vscode/settings.json | 37 + BUT1/DEV1.1/CM2 2022/1/Makefile | 45 + BUT1/DEV1.1/CM2 2022/1/programme.c | 20 + BUT1/DEV1.1/CM2 2022/1/repetition | Bin 0 -> 15592 bytes BUT1/DEV1.1/CM2 2022/1/repetition.c | 12 + BUT1/DEV1.1/CM2 2022/1/repetition.h | 7 + BUT1/DEV1.1/CM2 2022/3.c | 8 + BUT1/DEV1.1/CM2 2022/test/timer.c | 38 + BUT1/DEV1.1/CM2_2/.vscode/extensions.json | 5 + BUT1/DEV1.1/CM2_2/.vscode/settings.json | 5 + BUT1/DEV1.1/CM2_2/CM2/Makefile | 13 + BUT1/DEV1.1/CM2_2/CM2/carre | Bin 0 -> 15696 bytes BUT1/DEV1.1/CM2_2/CM2/carre.c | 52 + BUT1/DEV1.1/CM2_2/CM2/exo1.c | 13 + BUT1/DEV1.1/CM2_2/CM2/exo3.c | 39 + BUT1/DEV1.1/CM2_2/CM2/exo4.c | 27 + BUT1/DEV1.1/CM2_2/CM2/lightness.c | 12 + BUT1/DEV1.1/CM2_2/CM2/lightness.h | 9 + .../EntrainementDS2/.vscode/settings.json | 7 + .../Convertisseur/nanoTOseconde.c | 16 + .../Convertisseur/secondeTOnano.c | 16 + .../EXO 1/.vscode/c_cpp_properties.json | 18 + .../SUJET1 /EXO 1/.vscode/launch.json | 24 + .../SUJET1 /EXO 1/.vscode/settings.json | 37 + .../EntrainementDS2/SUJET1 /EXO 1/Makefile | 14 + .../EntrainementDS2/SUJET1 /EXO 1/main.c | 25 + .../SUJET1 /EXO 1/repetition.c | 13 + .../SUJET1 /EXO 1/repetition.h | 6 + .../SUJET1 /EXO 1/repetition_ou_pas | Bin 0 -> 15664 bytes .../CM2_2/EntrainementDS2/SUJET1 /EXO2/exo2.c | 26 + .../CM2_2/EntrainementDS2/SUJET1 /EXO2/image | Bin 0 -> 1066 bytes .../EntrainementDS2/SUJET1 /EXO2/image(2) | Bin 0 -> 1066 bytes .../CM2_2/EntrainementDS2/SUJET1 /EXO3/exo3.c | 23 + .../EntrainementDS2/SUJET1 /Lenny/main.c | 0 .../EntrainementDS2/SUJET1 /Lenny/nom1.c | 0 .../EntrainementDS2/SUJET2/EXO1/Makefile | 34 + .../CM2_2/EntrainementDS2/SUJET2/EXO1/main.c | 15 + .../EntrainementDS2/SUJET2/EXO1/recherche.c | 13 + .../EntrainementDS2/SUJET2/EXO1/recherche.h | 6 + .../SUJET2/EXO1/valeurs_nulles | Bin 0 -> 15592 bytes .../SUJET2/EXO1/valeurs_nulles_ou_pas | Bin 0 -> 15592 bytes .../CM2_2/EntrainementDS2/SUJET2/EXO2/exo2.c | 41 + .../CM2_2/EntrainementDS2/SUJET2/EXO2/titi.c | 5 + .../CM2_2/EntrainementDS2/SUJET2/EXO2/toto.c | 5 + .../CM2_2/EntrainementDS2/SUJET2/EXO3/exo3.c | 21 + .../SUJET3/EXO MKTIME/mktime.c | 49 + .../CM2_2/EntrainementDS2/SUJET3/conversion.c | 25 + BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET3/de.c | 36 + BUT1/DEV1.1/CM2_2/stiti_CM2.tar.gz | Bin 0 -> 3808 bytes BUT1/DEV1.1/Caract#U00e8res/extraction.c | 26 + BUT1/DEV1.1/Caract#U00e8res/lettres.c | 8 + BUT1/DEV1.1/Caract#U00e8res/salut2.c | 11 + BUT1/DEV1.1/Chaines_Caracteres/initiales.c | 17 + BUT1/DEV1.1/Chaines_Caracteres/lecture.c | 23 + BUT1/DEV1.1/Chaines_Caracteres/miroir.c | 17 + BUT1/DEV1.1/Chaines_Caracteres/statistiques.c | 29 + BUT1/DEV1.1/Chaines_Caracteres/truandage.c | 7 + BUT1/DEV1.1/Commandes/bases.c | 9 + BUT1/DEV1.1/Commandes/intermediaire.i | 1854 +++++++++++++++++ BUT1/DEV1.1/Commandes/salut.c | 10 + BUT1/DEV1.1/Conditions/billevesees.c | 32 + BUT1/DEV1.1/Conditions/bissextile1.c | 31 + BUT1/DEV1.1/Conditions/bissextile2.c | 17 + BUT1/DEV1.1/Conditions/ordre.c | 33 + BUT1/DEV1.1/Conditions/produit.c | 24 + BUT1/DEV1.1/Conditions/triple.c | 21 + BUT1/DEV1.1/Debogueur/1.c | 19 + BUT1/DEV1.1/Debogueur/2.c | 20 + BUT1/DEV1.1/Entiers/arithmetique.c | 17 + BUT1/DEV1.1/Entiers/bases.c | 10 + BUT1/DEV1.1/Entiers/multiplication.c | 8 + BUT1/DEV1.1/Entiers/operations.c | 17 + BUT1/DEV1.1/Entiers/operations2.c | 17 + BUT1/DEV1.1/Entiers/operations3.c | 18 + BUT1/DEV1.1/Entiers/reponses.txt | 6 + BUT1/DEV1.1/Fichier/1.c | 22 + BUT1/DEV1.1/Fichier/2.c | 31 + BUT1/DEV1.1/Fichier/test.c | 9 + BUT1/DEV1.1/Fichier/top10 | 1 + BUT1/DEV1.1/Fonctions/1.txt | 65 + BUT1/DEV1.1/Liste_chainees/circulation.c | 83 + BUT1/DEV1.1/Liste_chainees/maximum.c | 76 + BUT1/DEV1.1/Listes_chainees_good/1.c | 40 + BUT1/DEV1.1/Maths/Formules/arctan.c | 18 + BUT1/DEV1.1/Maths/Formules/exponentielle.c | 18 + BUT1/DEV1.1/Maths/Formules/formules.c | 16 + BUT1/DEV1.1/Maths/Formules/logartihme-3.c | 18 + BUT1/DEV1.1/Maths/Formules/racinede2.c | 18 + BUT1/DEV1.1/Maths/Formules/sin.c | 18 + BUT1/DEV1.1/Organisation_code/1.c | 20 + BUT1/DEV1.1/Organisation_code/2.c | 0 BUT1/DEV1.1/Organisation_code/exo1.tar.gz | Bin 0 -> 2025 bytes BUT1/DEV1.1/Organisation_code/exo1/Makefile | 41 + BUT1/DEV1.1/Organisation_code/exo1/exo1 | Bin 0 -> 22048 bytes BUT1/DEV1.1/Organisation_code/exo1/lire.h | 8 + BUT1/DEV1.1/Organisation_code/exo1/lire.s | 30 + BUT1/DEV1.1/Organisation_code/exo1/main.c | 42 + BUT1/DEV1.1/Organisation_code/exo1/options.c | 15 + BUT1/DEV1.1/Organisation_code/exo1/options.h | 5 + BUT1/DEV1.1/Organisation_code/exo1/personne.c | 33 + BUT1/DEV1.1/Organisation_code/exo1/personne.h | 16 + .../Organisation_code/exo1/repertoire.c | 37 + .../Organisation_code/exo1/repertoire.h | 20 + BUT1/DEV1.1/Recusrivité/1.c | 16 + BUT1/DEV1.1/Reels/extremites.c | 9 + BUT1/DEV1.1/Reels/interets.c | 19 + BUT1/DEV1.1/Reels/operations.c | 12 + BUT1/DEV1.1/Reels/poussieres.c | 7 + BUT1/DEV1.1/Reels/r#U00e9ponses | 7 + BUT1/DEV1.1/Reels/somme1.c | 21 + BUT1/DEV1.1/Reels/somme2.c | 19 + BUT1/DEV1.1/Reels/telescopage.c | 22 + BUT1/DEV1.1/Structures/1.c | 11 + BUT1/DEV1.1/Structures/2.c | 22 + BUT1/DEV1.1/Structures/3.c | 10 + BUT1/DEV1.1/TP07-boucles/s#U00e9quencefor.c | 30 + BUT1/DEV1.1/Tableaux/maximum.c | 119 ++ BUT1/DEV1.1/Tableaux/miroir.c | 82 + BUT1/DEV1.1/Tableaux/recherche.c | 104 + BUT1/DEV1.1/Tableaux/remplissage.c | 67 + .../progressions.c | 65 + BUT1/DEV1.1/Types/affluence.c | 21 + BUT1/DEV1.1/Types/debordement.c | 18 + BUT1/DEV1.1/Types/variete.c | 26 + BUT1/DEV1.1/fichier(suite)/1.c | 23 + BUT1/DEV1.1/fichier(suite)/2.c | 10 + BUT1/DEV1.1/fichier(suite)/image | Bin 0 -> 1066 bytes BUT1/DEV1.1/fichier(suite)/image.bin | Bin 0 -> 6291464 bytes BUT1/DEV1.1/fichier(suite)/sauvegarde.txt | 1 + BUT1/DEV1.1/hello_world | Bin 0 -> 15616 bytes BUT1/DEV1.1/revision/boucle-table.c | 13 + BUT1/DEV1.1/revision/carre.c | 40 + BUT1/DEV1.1/revision/cercle.c | 23 + BUT1/DEV1.1/test.c | 12 + BUT1/DEV1.2/TP1/exo0.html | 17 + BUT1/DEV1.2/TP1/exo1.html | 18 + BUT1/DEV1.2/TP1/exo2.html | 32 + BUT1/DEV1.2/TP1/exo3.html | 15 + BUT1/DEV1.2/TP1/exo4/exo4.html | 25 + BUT1/DEV1.2/TP1/exo4/image/Neptune.jpg | Bin 0 -> 13430 bytes BUT1/DEV1.2/TP1/exo4/image/jupiter.jpg | Bin 0 -> 12878 bytes BUT1/DEV1.2/TP1/exo4/image/mars.jpg | Bin 0 -> 15580 bytes BUT1/DEV1.2/TP1/exo4/image/mercure.jpg | Bin 0 -> 13357 bytes BUT1/DEV1.2/TP1/exo4/image/saturne.jpg | Bin 0 -> 3967 bytes BUT1/DEV1.2/TP1/exo4/image/terre.jpg | Bin 0 -> 26035 bytes BUT1/DEV1.2/TP1/exo4/image/uranus.jpg | Bin 0 -> 4795 bytes BUT1/DEV1.2/TP1/exo4/image/venus.jpg | Bin 0 -> 2764 bytes BUT1/DEV1.2/TP1/exo5.html | 17 + BUT1/DEV1.2/TP1/img.png | Bin 0 -> 15760 bytes BUT1/DEV1.2/TP2/EXO1/exo1.html | 23 + BUT1/DEV1.2/TP2/EXO1/exo1_p3.html | 14 + BUT1/DEV1.2/TP2/EXO2/exo2.html | 62 + BUT1/DEV1.2/TP2/EXO3/exo3.html | 80 + BUT1/DEV1.2/TP2/EXO4/exo4.css | 20 + BUT1/DEV1.2/TP2/EXO4/exo4.html | 55 + BUT1/DEV1.2/TP4/EXO1/exo1.css | 82 + BUT1/DEV1.2/TP4/EXO1/exo1.html | 82 + BUT1/DEV1.2/TP5/index.html | 43 + BUT1/DEV1.2/TP5/script.js | 225 ++ BUT1/DEV1.3/EXO3/css.svg | 1 + BUT1/DEV1.3/EXO3/exo3.css | 0 BUT1/DEV1.3/EXO3/exo3.html | 15 + BUT1/DEV1.3/EXO3/html.svg | 1 + BUT1/DEV1.3/EXO3/js.svg | 1 + BUT1/DEV1.3/exo1.css | 17 + BUT1/DEV1.3/exo1.html | 24 + BUT1/DEV1.3/exo2.css | 41 + BUT1/DEV1.3/exo2.html | 16 + .../TP1-Introduction/EXO 1 /Bonjour.java | 17 + BUT1/DEV2.2/TP1-Introduction/EXO 1 /exo1.java | 33 + BUT1/DEV2.2/TP1-Introduction/EXO 2/Exo2.class | Bin 0 -> 947 bytes BUT1/DEV2.2/TP1-Introduction/EXO 2/Exo2.java | 14 + BUT1/DEV2.2/TP1-Introduction/EXO 3/exo3.class | Bin 0 -> 1041 bytes BUT1/DEV2.2/TP1-Introduction/EXO 3/exo3.java | 17 + BUT1/DEV2.2/TP1-Introduction/EXO 4/exo4.class | Bin 0 -> 688 bytes BUT1/DEV2.2/TP1-Introduction/EXO 4/exo4.java | 24 + BUT1/DEV2.2/TP1-Introduction/EXO 5/exo5.class | Bin 0 -> 1205 bytes BUT1/DEV2.2/TP1-Introduction/EXO 5/exo5.java | 26 + .../TP2-ComposantsGraphique/EXO3/exo3.class | Bin 0 -> 2902 bytes .../TP2-ComposantsGraphique/EXO3/exo3.java | 32 + .../TP2-ComposantsGraphique/EXO4/exo4.class | Bin 0 -> 895 bytes .../TP2-ComposantsGraphique/EXO4/exo4.java | 32 + .../TP2-ComposantsGraphique/EXO5/exo5.class | Bin 0 -> 3088 bytes .../TP2-ComposantsGraphique/EXO5/exo5.java | 39 + 228 files changed, 7094 insertions(+) create mode 100644 BUT1/CONTROLE/CM1/.vscode/c_cpp_properties.json create mode 100644 BUT1/CONTROLE/CM1/.vscode/launch.json create mode 100644 BUT1/CONTROLE/CM1/.vscode/settings.json create mode 100644 BUT1/CONTROLE/CM1/exo1.c create mode 100644 BUT1/CONTROLE/CM1/exo2.c create mode 100644 BUT1/CONTROLE/CM1/exo3.c create mode 100644 BUT1/CONTROLE/CM1/exo4.c create mode 100644 BUT1/CONTROLE/CM1/exo5.c create mode 100644 BUT1/CONTROLE/CM3/exo1/exo1.c create mode 100644 BUT1/CONTROLE/CM3/exo1/image.pgm create mode 100644 BUT1/CONTROLE/CM3/exo2/exo2.c create mode 100644 BUT1/CONTROLE/CM3/exo3/exo3.c create mode 100644 BUT1/CONTROLE/stiti_CM1.tar.gz create mode 100644 BUT1/CONTROLE/stiti_CM3.tar.gz create mode 100644 BUT1/DEV1.1/Adresses/alphabet.c create mode 100644 BUT1/DEV1.1/Adresses/cartographie.c create mode 100644 BUT1/DEV1.1/Adresses/conversion.c create mode 100644 BUT1/DEV1.1/Adresses/etapes.c create mode 100644 BUT1/DEV1.1/Adresses/mortvivant.c create mode 100644 BUT1/DEV1.1/Allocation_Dynamique/1.c create mode 100644 BUT1/DEV1.1/Allocation_Dynamique/2.c create mode 100644 BUT1/DEV1.1/Bibliotheque_Math/arctique.c create mode 100644 BUT1/DEV1.1/Bibliotheque_Math/chiffres.c create mode 100644 BUT1/DEV1.1/Bibliotheque_Math/distance.c create mode 100644 BUT1/DEV1.1/Bibliotheque_Math/dureedevol.c create mode 100644 BUT1/DEV1.1/Boucles/bornes.c create mode 100644 BUT1/DEV1.1/Boucles/division.c create mode 100644 BUT1/DEV1.1/Boucles/filtrage.c create mode 100644 BUT1/DEV1.1/Boucles/s#U00e9quencedowhile.c create mode 100644 BUT1/DEV1.1/Boucles/s#U00e9quencefor.c create mode 100644 BUT1/DEV1.1/Boucles/s#U00e9quencewhile.c create mode 100644 BUT1/DEV1.1/Boucles/table.c create mode 100644 BUT1/DEV1.1/Boucles/tables.c create mode 100644 BUT1/DEV1.1/Boucles_encore/figures.c create mode 100644 BUT1/DEV1.1/Boucles_encore/figures2.c create mode 100644 BUT1/DEV1.1/Boucles_encore/sapin.c create mode 100644 BUT1/DEV1.1/Boucles_suite/devinette.c create mode 100644 BUT1/DEV1.1/Boucles_suite/facteurs.c create mode 100644 BUT1/DEV1.1/Boucles_suite/figures.c create mode 100644 BUT1/DEV1.1/Boucles_suite/primarite.c create mode 100644 BUT1/DEV1.1/Boucles_suite/progression.c create mode 100644 BUT1/DEV1.1/Boucles_suite/tables.c create mode 100644 BUT1/DEV1.1/CM2 2022/.vscode/c_cpp_properties.json create mode 100644 BUT1/DEV1.1/CM2 2022/.vscode/launch.json create mode 100644 BUT1/DEV1.1/CM2 2022/.vscode/settings.json create mode 100644 BUT1/DEV1.1/CM2 2022/1/Makefile create mode 100644 BUT1/DEV1.1/CM2 2022/1/programme.c create mode 100755 BUT1/DEV1.1/CM2 2022/1/repetition create mode 100644 BUT1/DEV1.1/CM2 2022/1/repetition.c create mode 100644 BUT1/DEV1.1/CM2 2022/1/repetition.h create mode 100644 BUT1/DEV1.1/CM2 2022/3.c create mode 100644 BUT1/DEV1.1/CM2 2022/test/timer.c create mode 100644 BUT1/DEV1.1/CM2_2/.vscode/extensions.json create mode 100644 BUT1/DEV1.1/CM2_2/.vscode/settings.json create mode 100644 BUT1/DEV1.1/CM2_2/CM2/Makefile create mode 100755 BUT1/DEV1.1/CM2_2/CM2/carre create mode 100644 BUT1/DEV1.1/CM2_2/CM2/carre.c create mode 100644 BUT1/DEV1.1/CM2_2/CM2/exo1.c create mode 100644 BUT1/DEV1.1/CM2_2/CM2/exo3.c create mode 100644 BUT1/DEV1.1/CM2_2/CM2/exo4.c create mode 100644 BUT1/DEV1.1/CM2_2/CM2/lightness.c create mode 100644 BUT1/DEV1.1/CM2_2/CM2/lightness.h create mode 100644 BUT1/DEV1.1/CM2_2/EntrainementDS2/.vscode/settings.json create mode 100644 BUT1/DEV1.1/CM2_2/EntrainementDS2/Convertisseur/nanoTOseconde.c create mode 100644 BUT1/DEV1.1/CM2_2/EntrainementDS2/Convertisseur/secondeTOnano.c create mode 100644 BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO 1/.vscode/c_cpp_properties.json create mode 100644 BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO 1/.vscode/launch.json create mode 100644 BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO 1/.vscode/settings.json create mode 100644 BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO 1/Makefile create mode 100644 BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO 1/main.c create mode 100644 BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO 1/repetition.c create mode 100644 BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO 1/repetition.h create mode 100755 BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO 1/repetition_ou_pas create mode 100644 BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO2/exo2.c create mode 100644 BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO2/image create mode 100644 BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO2/image(2) create mode 100644 BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO3/exo3.c create mode 100644 BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /Lenny/main.c create mode 100644 BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /Lenny/nom1.c create mode 100644 BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET2/EXO1/Makefile create mode 100644 BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET2/EXO1/main.c create mode 100644 BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET2/EXO1/recherche.c create mode 100644 BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET2/EXO1/recherche.h create mode 100755 BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET2/EXO1/valeurs_nulles create mode 100755 BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET2/EXO1/valeurs_nulles_ou_pas create mode 100644 BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET2/EXO2/exo2.c create mode 100644 BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET2/EXO2/titi.c create mode 100644 BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET2/EXO2/toto.c create mode 100644 BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET2/EXO3/exo3.c create mode 100644 BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET3/EXO MKTIME/mktime.c create mode 100644 BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET3/conversion.c create mode 100644 BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET3/de.c create mode 100644 BUT1/DEV1.1/CM2_2/stiti_CM2.tar.gz create mode 100644 BUT1/DEV1.1/Caract#U00e8res/extraction.c create mode 100644 BUT1/DEV1.1/Caract#U00e8res/lettres.c create mode 100644 BUT1/DEV1.1/Caract#U00e8res/salut2.c create mode 100644 BUT1/DEV1.1/Chaines_Caracteres/initiales.c create mode 100644 BUT1/DEV1.1/Chaines_Caracteres/lecture.c create mode 100644 BUT1/DEV1.1/Chaines_Caracteres/miroir.c create mode 100644 BUT1/DEV1.1/Chaines_Caracteres/statistiques.c create mode 100644 BUT1/DEV1.1/Chaines_Caracteres/truandage.c create mode 100644 BUT1/DEV1.1/Commandes/bases.c create mode 100644 BUT1/DEV1.1/Commandes/intermediaire.i create mode 100644 BUT1/DEV1.1/Commandes/salut.c create mode 100644 BUT1/DEV1.1/Conditions/billevesees.c create mode 100644 BUT1/DEV1.1/Conditions/bissextile1.c create mode 100644 BUT1/DEV1.1/Conditions/bissextile2.c create mode 100644 BUT1/DEV1.1/Conditions/ordre.c create mode 100644 BUT1/DEV1.1/Conditions/produit.c create mode 100644 BUT1/DEV1.1/Conditions/triple.c create mode 100644 BUT1/DEV1.1/Debogueur/1.c create mode 100644 BUT1/DEV1.1/Debogueur/2.c create mode 100644 BUT1/DEV1.1/Entiers/arithmetique.c create mode 100644 BUT1/DEV1.1/Entiers/bases.c create mode 100644 BUT1/DEV1.1/Entiers/multiplication.c create mode 100644 BUT1/DEV1.1/Entiers/operations.c create mode 100644 BUT1/DEV1.1/Entiers/operations2.c create mode 100644 BUT1/DEV1.1/Entiers/operations3.c create mode 100644 BUT1/DEV1.1/Entiers/reponses.txt create mode 100644 BUT1/DEV1.1/Fichier/1.c create mode 100644 BUT1/DEV1.1/Fichier/2.c create mode 100644 BUT1/DEV1.1/Fichier/test.c create mode 100644 BUT1/DEV1.1/Fichier/top10 create mode 100644 BUT1/DEV1.1/Fonctions/1.txt create mode 100644 BUT1/DEV1.1/Liste_chainees/circulation.c create mode 100644 BUT1/DEV1.1/Liste_chainees/maximum.c create mode 100644 BUT1/DEV1.1/Listes_chainees_good/1.c create mode 100644 BUT1/DEV1.1/Maths/Formules/arctan.c create mode 100644 BUT1/DEV1.1/Maths/Formules/exponentielle.c create mode 100644 BUT1/DEV1.1/Maths/Formules/formules.c create mode 100644 BUT1/DEV1.1/Maths/Formules/logartihme-3.c create mode 100644 BUT1/DEV1.1/Maths/Formules/racinede2.c create mode 100644 BUT1/DEV1.1/Maths/Formules/sin.c create mode 100644 BUT1/DEV1.1/Organisation_code/1.c create mode 100644 BUT1/DEV1.1/Organisation_code/2.c create mode 100644 BUT1/DEV1.1/Organisation_code/exo1.tar.gz create mode 100644 BUT1/DEV1.1/Organisation_code/exo1/Makefile create mode 100755 BUT1/DEV1.1/Organisation_code/exo1/exo1 create mode 100644 BUT1/DEV1.1/Organisation_code/exo1/lire.h create mode 100644 BUT1/DEV1.1/Organisation_code/exo1/lire.s create mode 100644 BUT1/DEV1.1/Organisation_code/exo1/main.c create mode 100644 BUT1/DEV1.1/Organisation_code/exo1/options.c create mode 100644 BUT1/DEV1.1/Organisation_code/exo1/options.h create mode 100644 BUT1/DEV1.1/Organisation_code/exo1/personne.c create mode 100644 BUT1/DEV1.1/Organisation_code/exo1/personne.h create mode 100644 BUT1/DEV1.1/Organisation_code/exo1/repertoire.c create mode 100644 BUT1/DEV1.1/Organisation_code/exo1/repertoire.h create mode 100644 BUT1/DEV1.1/Recusrivité/1.c create mode 100644 BUT1/DEV1.1/Reels/extremites.c create mode 100644 BUT1/DEV1.1/Reels/interets.c create mode 100644 BUT1/DEV1.1/Reels/operations.c create mode 100644 BUT1/DEV1.1/Reels/poussieres.c create mode 100644 BUT1/DEV1.1/Reels/r#U00e9ponses create mode 100644 BUT1/DEV1.1/Reels/somme1.c create mode 100644 BUT1/DEV1.1/Reels/somme2.c create mode 100644 BUT1/DEV1.1/Reels/telescopage.c create mode 100644 BUT1/DEV1.1/Structures/1.c create mode 100644 BUT1/DEV1.1/Structures/2.c create mode 100644 BUT1/DEV1.1/Structures/3.c create mode 100644 BUT1/DEV1.1/TP07-boucles/s#U00e9quencefor.c create mode 100644 BUT1/DEV1.1/Tableaux/maximum.c create mode 100644 BUT1/DEV1.1/Tableaux/miroir.c create mode 100644 BUT1/DEV1.1/Tableaux/recherche.c create mode 100644 BUT1/DEV1.1/Tableaux/remplissage.c create mode 100644 BUT1/DEV1.1/Tableaux_multidimensionnels/progressions.c create mode 100644 BUT1/DEV1.1/Types/affluence.c create mode 100644 BUT1/DEV1.1/Types/debordement.c create mode 100644 BUT1/DEV1.1/Types/variete.c create mode 100644 BUT1/DEV1.1/fichier(suite)/1.c create mode 100644 BUT1/DEV1.1/fichier(suite)/2.c create mode 100644 BUT1/DEV1.1/fichier(suite)/image create mode 100644 BUT1/DEV1.1/fichier(suite)/image.bin create mode 100644 BUT1/DEV1.1/fichier(suite)/sauvegarde.txt create mode 100755 BUT1/DEV1.1/hello_world create mode 100644 BUT1/DEV1.1/revision/boucle-table.c create mode 100644 BUT1/DEV1.1/revision/carre.c create mode 100644 BUT1/DEV1.1/revision/cercle.c create mode 100644 BUT1/DEV1.1/test.c create mode 100644 BUT1/DEV1.2/TP1/exo0.html create mode 100644 BUT1/DEV1.2/TP1/exo1.html create mode 100644 BUT1/DEV1.2/TP1/exo2.html create mode 100644 BUT1/DEV1.2/TP1/exo3.html create mode 100644 BUT1/DEV1.2/TP1/exo4/exo4.html create mode 100644 BUT1/DEV1.2/TP1/exo4/image/Neptune.jpg create mode 100644 BUT1/DEV1.2/TP1/exo4/image/jupiter.jpg create mode 100644 BUT1/DEV1.2/TP1/exo4/image/mars.jpg create mode 100644 BUT1/DEV1.2/TP1/exo4/image/mercure.jpg create mode 100644 BUT1/DEV1.2/TP1/exo4/image/saturne.jpg create mode 100644 BUT1/DEV1.2/TP1/exo4/image/terre.jpg create mode 100644 BUT1/DEV1.2/TP1/exo4/image/uranus.jpg create mode 100644 BUT1/DEV1.2/TP1/exo4/image/venus.jpg create mode 100644 BUT1/DEV1.2/TP1/exo5.html create mode 100644 BUT1/DEV1.2/TP1/img.png create mode 100644 BUT1/DEV1.2/TP2/EXO1/exo1.html create mode 100644 BUT1/DEV1.2/TP2/EXO1/exo1_p3.html create mode 100644 BUT1/DEV1.2/TP2/EXO2/exo2.html create mode 100644 BUT1/DEV1.2/TP2/EXO3/exo3.html create mode 100644 BUT1/DEV1.2/TP2/EXO4/exo4.css create mode 100644 BUT1/DEV1.2/TP2/EXO4/exo4.html create mode 100644 BUT1/DEV1.2/TP4/EXO1/exo1.css create mode 100644 BUT1/DEV1.2/TP4/EXO1/exo1.html create mode 100644 BUT1/DEV1.2/TP5/index.html create mode 100644 BUT1/DEV1.2/TP5/script.js create mode 100644 BUT1/DEV1.3/EXO3/css.svg create mode 100644 BUT1/DEV1.3/EXO3/exo3.css create mode 100644 BUT1/DEV1.3/EXO3/exo3.html create mode 100644 BUT1/DEV1.3/EXO3/html.svg create mode 100644 BUT1/DEV1.3/EXO3/js.svg create mode 100644 BUT1/DEV1.3/exo1.css create mode 100644 BUT1/DEV1.3/exo1.html create mode 100644 BUT1/DEV1.3/exo2.css create mode 100644 BUT1/DEV1.3/exo2.html create mode 100644 BUT1/DEV2.2/TP1-Introduction/EXO 1 /Bonjour.java create mode 100644 BUT1/DEV2.2/TP1-Introduction/EXO 1 /exo1.java create mode 100644 BUT1/DEV2.2/TP1-Introduction/EXO 2/Exo2.class create mode 100644 BUT1/DEV2.2/TP1-Introduction/EXO 2/Exo2.java create mode 100644 BUT1/DEV2.2/TP1-Introduction/EXO 3/exo3.class create mode 100644 BUT1/DEV2.2/TP1-Introduction/EXO 3/exo3.java create mode 100644 BUT1/DEV2.2/TP1-Introduction/EXO 4/exo4.class create mode 100644 BUT1/DEV2.2/TP1-Introduction/EXO 4/exo4.java create mode 100644 BUT1/DEV2.2/TP1-Introduction/EXO 5/exo5.class create mode 100644 BUT1/DEV2.2/TP1-Introduction/EXO 5/exo5.java create mode 100644 BUT1/DEV2.2/TP2-ComposantsGraphique/EXO3/exo3.class create mode 100644 BUT1/DEV2.2/TP2-ComposantsGraphique/EXO3/exo3.java create mode 100644 BUT1/DEV2.2/TP2-ComposantsGraphique/EXO4/exo4.class create mode 100644 BUT1/DEV2.2/TP2-ComposantsGraphique/EXO4/exo4.java create mode 100644 BUT1/DEV2.2/TP2-ComposantsGraphique/EXO5/exo5.class create mode 100644 BUT1/DEV2.2/TP2-ComposantsGraphique/EXO5/exo5.java diff --git a/BUT1/CONTROLE/CM1/.vscode/c_cpp_properties.json b/BUT1/CONTROLE/CM1/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..c2098a2 --- /dev/null +++ b/BUT1/CONTROLE/CM1/.vscode/c_cpp_properties.json @@ -0,0 +1,18 @@ +{ + "configurations": [ + { + "name": "linux-gcc-x64", + "includePath": [ + "${workspaceFolder}/**" + ], + "compilerPath": "/usr/bin/gcc", + "cStandard": "${default}", + "cppStandard": "${default}", + "intelliSenseMode": "linux-gcc-x64", + "compilerArgs": [ + "" + ] + } + ], + "version": 4 +} \ No newline at end of file diff --git a/BUT1/CONTROLE/CM1/.vscode/launch.json b/BUT1/CONTROLE/CM1/.vscode/launch.json new file mode 100644 index 0000000..f397f36 --- /dev/null +++ b/BUT1/CONTROLE/CM1/.vscode/launch.json @@ -0,0 +1,24 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "C/C++ Runner: Debug Session", + "type": "cppdbg", + "request": "launch", + "args": [], + "stopAtEntry": false, + "externalConsole": false, + "cwd": "/export/home/an23/stiti/Desktop/DEV/CM1", + "program": "/export/home/an23/stiti/Desktop/DEV/CM1/build/Debug/outDebug", + "MIMode": "gdb", + "miDebuggerPath": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + } + ] +} \ No newline at end of file diff --git a/BUT1/CONTROLE/CM1/.vscode/settings.json b/BUT1/CONTROLE/CM1/.vscode/settings.json new file mode 100644 index 0000000..bfd7745 --- /dev/null +++ b/BUT1/CONTROLE/CM1/.vscode/settings.json @@ -0,0 +1,37 @@ +{ + "C_Cpp_Runner.cCompilerPath": "gcc", + "C_Cpp_Runner.cppCompilerPath": "g++", + "C_Cpp_Runner.debuggerPath": "gdb", + "C_Cpp_Runner.cStandard": "", + "C_Cpp_Runner.cppStandard": "", + "C_Cpp_Runner.msvcBatchPath": "", + "C_Cpp_Runner.useMsvc": false, + "C_Cpp_Runner.warnings": [ + "-Wall", + "-Wextra", + "-Wpedantic", + "-Wshadow", + "-Wformat=2", + "-Wconversion", + "-Wnull-dereference", + "-Wsign-conversion" + ], + "C_Cpp_Runner.enableWarnings": true, + "C_Cpp_Runner.warningsAsError": false, + "C_Cpp_Runner.compilerArgs": [], + "C_Cpp_Runner.linkerArgs": [], + "C_Cpp_Runner.includePaths": [], + "C_Cpp_Runner.includeSearch": [ + "*", + "**/*" + ], + "C_Cpp_Runner.excludeSearch": [ + "**/build", + "**/build/**", + "**/.*", + "**/.*/**", + "**/.vscode", + "**/.vscode/**" + ], + "C_Cpp_Runner.useAddressSanitizer": false +} \ No newline at end of file diff --git a/BUT1/CONTROLE/CM1/exo1.c b/BUT1/CONTROLE/CM1/exo1.c new file mode 100644 index 0000000..8684f4c --- /dev/null +++ b/BUT1/CONTROLE/CM1/exo1.c @@ -0,0 +1,10 @@ +#include +#include + +int main(void){ + printf(" {o,o}\n"); + printf(" (__(\\\n");/* On rajoute un "\" pour préciser que le \ d'avant ne sert pas à dire que le caractère d'après est spécial"*/ + printf(" -\"-\"- "); /*idem ici avec les guillemets*/ + + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/CONTROLE/CM1/exo2.c b/BUT1/CONTROLE/CM1/exo2.c new file mode 100644 index 0000000..deff191 --- /dev/null +++ b/BUT1/CONTROLE/CM1/exo2.c @@ -0,0 +1,9 @@ +#include +#include + +int main(void) { + printf("%d\n", 58); + printf("%o\n", 47); /* IMPOSSIBLE A AFFICHER CAR LE 8 n'existe pas en base octal ... comme le 2 n'existe pas en base décimal donc 47 pour 57 à la limite*/ + printf("%x\n", 0x58); + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/CONTROLE/CM1/exo3.c b/BUT1/CONTROLE/CM1/exo3.c new file mode 100644 index 0000000..ff90569 --- /dev/null +++ b/BUT1/CONTROLE/CM1/exo3.c @@ -0,0 +1,44 @@ +#include +#include + +int main(void) { + double taille_utilisateur; /* taille en cm /// Justification nom de vaiable = taille_utilisateur car c'est la taille taper par l'utilisateur*/ + int i,pied=0,pouce=0; + printf("Entrez votre taille : "); + scanf("%lf",&taille_utilisateur); /* lf car c'est un double*/ + + /* S'occupe de retirer l'équivalent de 1 pied à la taille en cm et d'ajouter 1 à pied*/ + for(i=0;taille_utilisateur>=0.3048;i++){ + taille_utilisateur = taille_utilisateur - 0.3048; + pied++; + } + + /* S'occupe de retirer l'équivalent de 1 pouce à la taille en cm et d'ajouter 1 à pouce*/ + for(i=0;taille_utilisateur>=0.0256;i++){ + taille_utilisateur = taille_utilisateur - 0.0256; + pouce++; + } + + + if(pied>0){ + if(pied==1){ + printf("%d pied et",pied); + }else{ + printf("%d pieds",pied); + } + } + + if(pied>0 && pouce>0){ + printf(" et "); + } + + if(pouce>0){ + if(pouce==1){ + printf("%d pouce ",pouce); + }else{ + printf("%d pouces ",pouce); + } + } + + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/CONTROLE/CM1/exo4.c b/BUT1/CONTROLE/CM1/exo4.c new file mode 100644 index 0000000..e449dc0 --- /dev/null +++ b/BUT1/CONTROLE/CM1/exo4.c @@ -0,0 +1,18 @@ +#include +#include + +int main(){ + char lettre,alphabet; + printf("Entrez une minuscule : "); + scanf("%c", &lettre); /* ou lettre = getchar() mais cela reviens au même*/ + alphabet = 'a'; + /* Je n'ai trouver aucune solution pour utiliser une boucle for dans cette situation (Désoler...)*/ + while(alphabet <= 'z'){ + (alphabet != lettre) && printf("%c", alphabet); + (alphabet == lettre) && printf("[%c]", alphabet); + alphabet++; + } + printf("\n"); + + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/CONTROLE/CM1/exo5.c b/BUT1/CONTROLE/CM1/exo5.c new file mode 100644 index 0000000..73769f8 --- /dev/null +++ b/BUT1/CONTROLE/CM1/exo5.c @@ -0,0 +1,36 @@ +#include +#include + +int main() { + int des[5]; + int j,i; + int maxOccurrences = 0, occurrences; + + for (i=0;i<5;i++) { + printf("Jet n°%d : ", i + 1); + scanf("%d",&des[i]); + + /*Vérifier que la valeur donner est entre 1 et 6*/ + if(des[i]<1 || des[i]>6) { + printf("Veuillez entrer un entier entre 1 et 6.\n"); + i--; + } + } + + /*Compter les occurrences de chaque nombre*/ + for(i=1;i<=6;i++){ + occurrences = 0; + for(j=0;j<5;j++){ + if(des[j] == i){ + occurrences++; + } + } + if(occurrences > maxOccurrences){ + maxOccurrences = occurrences; + } + } + + printf("Occurrences maximum : %d\n", maxOccurrences); + + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/CONTROLE/CM3/exo1/exo1.c b/BUT1/CONTROLE/CM3/exo1/exo1.c new file mode 100644 index 0000000..1504472 --- /dev/null +++ b/BUT1/CONTROLE/CM3/exo1/exo1.c @@ -0,0 +1,51 @@ +#include +#include + +void modifierImage(char *nomFichier) { + int pixel, largeur, hauteur, intensiteMax; + char commentaire[256],enTete[3]; + FILE *fichier = fopen(nomFichier, "r+"); + + if (fichier == NULL) { + fprintf(stderr,"Impossible d'ouvrir le fichier !"); + return; + } + + /* Lire l'en-tête */ + fscanf(fichier, "%2s", enTete); + + if (enTete[0] != 'P' || enTete[1] != '2') { + printf("Le fichier n'est pas au format PPM ASCII.\n"); + fclose(fichier); + return; + } + + /* Ignorer les commentaires s'il y en a*/ + while (fgetc(fichier) == '#') { + fgets(commentaire, sizeof(commentaire), fichier); + } + + /* Lire les dimensions et l'intensité maximale*/ + fscanf(fichier, "%d %d %d", &largeur, &hauteur, &intensiteMax); + + /* Modifier les pixels du message en blanc*/ + fseek(fichier, ftell(fichier), SEEK_SET); /* Revenir au début des données d'image*/ + + while ((pixel = fgetc(fichier)) != EOF) { + /* Modifier uniquement les pixels correspondant au message (intensité 3)*/ + if (pixel == 3) { + fseek(fichier, -1, SEEK_CUR); + fprintf(fichier, "5 "); + } + } + + fclose(fichier); +} + +int main(void) { + char nomFichier[] = "image.pgm"; + modifierImage(nomFichier); + printf("Modification terminée avec succès.\n"); + + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/CONTROLE/CM3/exo1/image.pgm b/BUT1/CONTROLE/CM3/exo1/image.pgm new file mode 100644 index 0000000..e69de29 diff --git a/BUT1/CONTROLE/CM3/exo2/exo2.c b/BUT1/CONTROLE/CM3/exo2/exo2.c new file mode 100644 index 0000000..aac771b --- /dev/null +++ b/BUT1/CONTROLE/CM3/exo2/exo2.c @@ -0,0 +1,47 @@ +#include +#include + +/* Fonction récursive pour trouver le maximum entre deux entiers*/ +int maxRecursif(int a, int b) { + return (a > b) ? a : b; +} + +/* Fonction récursive pour trouver le maximum dans un tableau d'entiers*/ +int maxTableauRecursif(int tableau[], int taille) { + if (taille == 1) { + return tableau[0]; + } + + return maxRecursif(tableau[taille - 1], maxTableauRecursif(tableau, taille - 1)); +} + +int main(int argc, char* argv[]) { + int i,max; + int* entiers; + if (argc < 2) { + perror("Usage: ./a.out \n"); + return EXIT_FAILURE; + } + + /* Allouer de la mémoire pour stocker les entiers fournis en ligne de commande*/ + entiers = (int*)malloc((argc - 1) * sizeof(int)); + + if (entiers == NULL) { + perror("Erreur d'allocation mémoire"); + return EXIT_FAILURE; + } + + /* Convertir les arguments en entiers et les stocker dans le tableau*/ + for (i = 1; i < argc; i++) { + entiers[i - 1] = atoi(argv[i]); + } + + /* Trouver et afficher le plus grand entier récursivement*/ + max = maxTableauRecursif(entiers, argc - 1); + printf("%d\n", max); + + /* Libérer la mémoire allouée pour le tableau*/ + free(entiers); + + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/CONTROLE/CM3/exo3/exo3.c b/BUT1/CONTROLE/CM3/exo3/exo3.c new file mode 100644 index 0000000..a0db940 --- /dev/null +++ b/BUT1/CONTROLE/CM3/exo3/exo3.c @@ -0,0 +1,98 @@ +#include +#include +#include + +/* Structure pour un nœud dans la liste chaînée*/ +typedef struct Noeud { + int digit; + struct Noeud* suivant; +} Noeud; + +/* Fonction pour convertir une représentation décimale en liste chaînée*/ +Noeud* convertirListeChainee(char* nombre) { + Noeud* liste = NULL; + int i; + int length = strlen(nombre); + + for (i = length - 1; i >= 0; i--) { + Noeud* nouveauNoeud = (Noeud*)malloc(sizeof(Noeud)); + nouveauNoeud->digit = nombre[i] - '0'; + nouveauNoeud->suivant = liste; + liste = nouveauNoeud; + } + + return liste; +} + +/* Fonction pour afficher une liste chaînée*/ +void AfficherListe(Noeud* liste) { + while (liste != NULL) { + printf("%d", liste->digit); + liste = liste->suivant; + } + printf("\n"); +} + +/* Fonction pour additionner deux listes chaînées*/ +Noeud* ajouterAListe(Noeud* num1, Noeud* num2) { + Noeud* resultat = NULL; + Noeud* actuel = NULL; + Noeud* nouveauNoeud = NULL; + int retenue = 0; + int somme; + + while (num1 != NULL || num2 != NULL || retenue != 0) { + somme = retenue; + + if (num1 != NULL) { + somme += num1->digit; + num1 = num1->suivant; + } + + if (num2 != NULL) { + somme += num2->digit; + num2 = num2->suivant; + } + + nouveauNoeud = (Noeud*)malloc(sizeof(Noeud)); + nouveauNoeud->digit = somme % 10; + nouveauNoeud->suivant = NULL; + + retenue = somme / 10; + + if (resultat == NULL) { + resultat = nouveauNoeud; + actuel = resultat; + } else { + actuel->suivant = nouveauNoeud; + actuel = nouveauNoeud; + } + } + + return resultat; +} + +int main(int argc, char* argv[]) { + Noeud* num1 = NULL; + Noeud* num2 = NULL; + Noeud* somme = NULL; + char* nombre1; + char* nombre2; + if (argc != 3) { + perror("Usage: %s \n"); + return EXIT_FAILURE; + } + + nombre1 = argv[1]; + nombre2 = argv[2]; + + + num1 = convertirListeChainee(nombre1); + num2 = convertirListeChainee(nombre2); + somme = ajouterAListe(num1, num2); + + + AfficherListe(somme); + + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/CONTROLE/stiti_CM1.tar.gz b/BUT1/CONTROLE/stiti_CM1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..87f9a6aa11d2c78e662d608e2c2a0b372ef9a8c0 GIT binary patch literal 1997 zcmV;;2Qv5{iwFP!000001MOPva@)8S^>04~s%~O^laweavyMFDRh(JxG_yNVo9#^E z@jxUb!688|0NP5tdYAr9fAtya7wZK-L`tIVbvKc>4bCJsd2xYz3Gf~qNFKeijJ+=m z6ENuY)NkAB^wn?6>J4IhiapEjfyuVImc0k9HkeTFODCof35hvEdqPr4@9+~catV{7 z)7?c@JHrUpzkMm3z$IVoJ^1bG-|1U$ZCaf{x2M;C7bvd3ha=|9+ZQ5WpEZVB;J$6& zw*GM4DXhN*>)*4?&K@#9YZkZQD_{TXeS|8PgbNz5%D1RuwmWUJ(o|L_U{gAaIF`^R zpz$qO5xS0lLOa7gQC&vHsL?>LBgP2-7QG;oXoki_#3ME{XZazFot-drC$rqn$uAKR zQZ*&7U*3fIERK4%vIrT3$MS?p{s9`M*b`*cMi!EAhP@Hw8hB)@-MMmA5Q8kjfJ3CSH(n6&9!57_oV+ohCh{yo9?UrQAJEsBMAUPQcp{7-lJP}8;H%SDP;6?v znLEkNK8^img#U!)e5+Xy8HJ<3_c3$xwJ5Gf?B){Ta2m>VHBT6xcm#!^uS zGc*l2DvqA45X_+J(;{)F)<&mwXF6j6CoeJeB2H93l1F6auuQMc_OrXQ{pDl7=^AAy z^1pKq)p-std`P&YM0~ED;2!=rdtGyb{|8oop!t6nxPA!Jdz3|s*35BQi@u$66J?GE zlaumR&PJLJG6N#zQJk>^?!!E$ z@o%nOGR2W6mj#C~yw3%wjCdX$6DCN;!nZtBmeg^&3*}E$*=D!q`Yvk!@3395{$Y<% zO#j*HKEr+buV;5R^`AYkb^Y%Gas7|ZM?n0Ef@?dYjdIMYaKkMOw;UUd5=ZwIS+g-* zv2@GB-Q(elOXoW*op~0h#3zEX2e+a)Tz9y_oT(C6ReYuOGxofc7T^X%636*%NL&o^ z$jL2Yj@{rYzXz@5V>#^P7GT?qDpocYd0q<$l1$-0b4X!4kXo%mmlfTt<(+7@pY!aM z9=rYVj>QS*0l$47HrcNvB=F|@I~@w!!aXiyg1M9L9hG|a`1QI`zwL<^|mDoF<3t7F#%B`n660grqntGWGyZv~3~$s*{roi7*TKK{3% zE#d#}z*KgtW80?Y|6SnEX$hj|Lb@KEwC6|rYc?7v(>^FCHUCs)M9*sJ;0i|l&CMrHr<8E?OGJ=|(Ixgs#E~1Q z+C@Z21PjXvvJeF7*Ns(QI;|!HKDW@XzoO*&s9#$t6^vKRH?&;oqa;Oi^K;=sXoe-oi_z(w;iOGYsgqaZhIUJ&34zcpKU0iZATCmCB_y?yXTS= zo&`h>D(a29!<(JnrVx8b__%u>Ud>@9veNLNr&Lx)W+6gq8xE~nxl{!$tsFp*R^s(3 z2+}2iQ|q0*#CD(3gwWHcNyclrWrHa(oGo;rXXcO4+S9}@&z+B>Jm7c`|NiZdqr62~ zw>+=^>zyIxfBP}{-|P=ofB$3JotXbSJ;T%thET#5{ z5#&=A2`4J$b_Yb*(`2ATCLLawlj4i~t#{4=7yBRB#ER zQ&1VjUz4Hgi5=%WLdyTvW1jyzwzc~H&yN586Zl`B|9651 z^M5S=uh*C!q3fU-Ec4Gb^M>mAdG+19vX<7niu#9;W*Q9*4Gj$q4Gj$q4Gj$q4Gj$q f4Gj$q4Gj$q4Gj$q4Gj&A{}%rN@?IF_08jt`-fG}N literal 0 HcmV?d00001 diff --git a/BUT1/CONTROLE/stiti_CM3.tar.gz b/BUT1/CONTROLE/stiti_CM3.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..2a67ea67b36c205a9acb98a1597d7e2b8449df60 GIT binary patch literal 2042 zcmVaiwFP!000001MOMsPUA)t=I`!POjEH**Z{F}L26hkgo1?1ZdVIPl_;u= zJqgp=3M@4*{-qX^#_CAPJd_6>#sp?-y5!x!9y#CC`2A)gsh32C@ABP|F*&hSpx$+?Dy}Af8QVUO#Fxa zp$GBr_5AJ{={|@y3;3VM|8vH}7%U^ZB9BMsz}ioJn4#6o&uulmHmd zNyMfsAIY!whz%kNb{%l&dZ$`Oa{a@UhdE2RT0TtqHO+E{icpf#SvJ2F5VSxJiRQN< zOM;jZ%2z0+*C}Njhh}X?_JG zz#w>TX(?a;j+mqwX));4!#0UGB8=?4AYJ&}+%&6MEAq6sra_@x_ky%ka~n*H)37Dj z&orH=#&&yDPPS)l?nytxWTnhGyMTq8-R51xwf9j?G`AXNtha}&-gnBrj6!;FGwt1q zs0EV=3$LgO+Hzd3Qx=hZJw^tlWqaQE=cg+Mk!`8@pQ&)zzMDbX=95-qJ!*8+OznjB zvN5{5OgUwaE#+I@Xy0K?6fyk9!Jvp1H%geOOcGVD1>dJdPP6@*RlG>N4ynHQ3;C8& zQN)nawUjdg;a#Nhs-A_MsV6JMi1Gq0?^cZ>O%ke;R67?{GrlFi{wlSzzZ*Hw)U|yt zMS*nPuZ7BmCUvRytZL@-7t$*_V58ayIotHtB4#C_wUmFKrTn{=@`>qx-%|hN3#!yw zCtml%@1}}sIjjn+60$9Y)ErVJ(`u(!$+rB487qMt`Z%S8?TGgc^Xz^e%CMK-;?)0y`JalzemA6 z>%SV$g{mqnGQqBO)t6^@HfK=5z)^d{k|Kc$D~Fm;@?UslG(*;_&f=RlRL-8LBe^5V z=A}6m_151C$R0L+Ndoc(xm=>!_fSEWpiq$J!DS4@fke$EO-@x;O(8w}{6Z;~2P}@u zA_EU{)q;e{vyXDExS8I)SXBkt)|-)99@KrX`<7p(Y@ zQ&$v_+8g66qo7;Vlv35zf>HY;Z9gdQE6_qvuSjrR?yq0z5r`ZtJflo->(h$k6hXwPdQWi}s>wr}~A0^~?Gk)}6(LAkz$-t>sy7BI>Rc zf@FgQRwT1lqC?79jB0iDdISk1Ujq{r(B+t2&TlhRz)BGGegWmQ%9Lf7WI#*xYK~Uk z4SoK5{}%q|_dRw0KXCl-F;K>zC9uhF&8Epezs3jnpB?|<&Jg)uzdPtT{`VLtEqszjYyv0h5$+Z8HxaVI)8r870kq1yG$fldc0=P1 zoYvVCm{Nya1w}3&pp$aJa{3an2{K>o!ld`OQ^7 zV;omn@+KAF^Z*!SfmARFa`O81OR|4*aCEd)C*+ebP6ai3ebBn2DNi#^z^y<5A8oRj zyhWlKXp8kv1d}Pv!%{xRp!s>t030A%mavZD;#OO`L+UCnIviApSc1uvaz&DxCb{Of zsss#TdS@^qBL5&F&&n))R;KAQJ5Mbh`ckLATwW$QXi<=a3M`P&8JBUu!*W$hf2bCn z;$8^Zac>L9OC*#xhNXmXguPKM@!$Ng_dkJM$gf^yJ{$vE%DbHsRZ9BUqmB5#x z=Jht_&G_p>+wHdc1!q4NlCIm9geep@VwUm<@8pBZu9oH5URzsd@>grHaId|>{!LHY zd~o*0$~*h5tO7J3cGA`^`Ij=-E`)KHGJ43}rP?RXvE*r#ET^Hw*LO5)FRPa&%5}Qf z%W0M{3=0XaX-Gs7hV$Qre$iZ^;o#ul;Nalk;Nalk;Nalk;Nalk;Nalk;Nalk;Nalk Y;Nalk;Nalk;P8<68_7`oCIC +#include + +int main(void) +{ + char min, maj; + char *p = NULL; + + for (min = 'a', maj = 'A'; maj <= 'Z'; min++, maj++) + { + p = (p == &min) ? &maj : &min; + putchar(*p); + } + putchar('\n'); + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/DEV1.1/Adresses/cartographie.c b/BUT1/DEV1.1/Adresses/cartographie.c new file mode 100644 index 0000000..6e4c0ac --- /dev/null +++ b/BUT1/DEV1.1/Adresses/cartographie.c @@ -0,0 +1,58 @@ +#include +#include +#include + +int main(void) +{ + + float fl = 0; + double dbl = 0; + long double ldbl = 0; + char caractere = 0; + short int shint = 0; + int entier = 0; + long long unsigned int llunsint = 0; + + printf("La valeur du float vaut : %f\n", fl); + printf("L'adresse de la variable float est : %p\n", &fl); + + printf("La valeur du double vaut : %lf\n", dbl); + printf("L'adresse de la variable double est : %p\n", &dbl); + + printf("La valeur du long double vaut : %Lf\n", ldbl); + printf("L'adresse de la variable long double est : %p\n", &ldbl); + + printf("La valeur du char vaut : %c\n", caractere); + printf("L'adresse de la variable char est : %p\n", &caractere); + + printf("La valeur du short int vaut : %hd\n", shint); + printf("L'adresse de la variable short int est : %p\n", &shint); + + printf("La valeur du int vaut : %d\n", entier); + printf("L'adresse de la variable int est : %p\n", &entier); + + printf("La valeur du long long unsigned int vaut : %llu\n", llunsint); + printf("L'adresse de la variable long long unsigned int est : %p\n", &llunsint); + + /* + 140723563022365 char +140723563022366 short int +140723563022368 float +140723563022372 int +140723563022376 double +140723563022384 long double + + +0x7ffe34119615 char 8 bits +0x7ffe34119616 short int 16 bits +0x7ffe34119618 float 32 bits +0x7ffe3411961c int 32 bits +0x7ffe34119620 double 64 bits +0x7ffe34119628 long long unsigned int 64 bits +0x7ffe34119630 long double 64 bits + +// chaque variable est attribuée à un espace précis mais l'emplacement de la mémoire est choisi aléatoirement + + + */ +} diff --git a/BUT1/DEV1.1/Adresses/conversion.c b/BUT1/DEV1.1/Adresses/conversion.c new file mode 100644 index 0000000..c85ac1a --- /dev/null +++ b/BUT1/DEV1.1/Adresses/conversion.c @@ -0,0 +1,10 @@ +#include +#include +#include + +int main(void) { + long long int n = 4614256656552045848LL; + double* p = (double*) &n; + printf("π = %f\n", *p); + return EXIT_SUCCESS; +} diff --git a/BUT1/DEV1.1/Adresses/etapes.c b/BUT1/DEV1.1/Adresses/etapes.c new file mode 100644 index 0000000..c786f50 --- /dev/null +++ b/BUT1/DEV1.1/Adresses/etapes.c @@ -0,0 +1,29 @@ +#include +#include +int main(void) { + int a = 1, b = 2, c = 3; + int *p, *q; + printf("%d,%d,%d,%d,%d\n",a,b,c,*p,*p); + p=&a; + q=&c; + printf("%d,%d,%d,%d,%d\n",a,b,c,*p,*q); + *p=(*q)++; + printf("%d,%d,%d,%d,%d\n",a,b,c,*p,*q); + p=q; + printf("%d,%d,%d,%d,%d\n",a,b,c,*p,*q); + q=&b; + printf("%d,%d,%d,%d,%d\n",a,b,c,*p,*q); + *p-=*q; + printf("%d,%d,%d,%d,%d\n",a,b,c,*p,*q); + ++*q; + printf("%d,%d,%d,%d,%d\n",a,b,c,*p,*q); + *p*=*q; + printf("%d,%d,%d,%d,%d\n",a,b,c,*p,*q); + a=++*q**p; + printf("%d,%d,%d,%d,%d\n",a,b,c,*p,*q); + p=&a; + printf("%d,%d,%d,%d,%d\n",a,b,c,*p,*q); + *q=*p/(*q); + printf("%d,%d,%d,%d,%d\n",a,b,c,*p,*q); + return EXIT_SUCCESS; +} diff --git a/BUT1/DEV1.1/Adresses/mortvivant.c b/BUT1/DEV1.1/Adresses/mortvivant.c new file mode 100644 index 0000000..95e4df9 --- /dev/null +++ b/BUT1/DEV1.1/Adresses/mortvivant.c @@ -0,0 +1,25 @@ + +#include +#include +#include + +int main(void) { + int* p; + + if(time(NULL)%2) { + int x = 59; + p = &x; + } else { + int y = 31; + p = &y; + } + /* fragment inactif + printf("x=%d\n", x); + printf("y=%d\n", y); + */ + + printf("%d\n", *p); + return EXIT_SUCCESS; +} + +// j'ai compris le fonctionnement du programme : time(NULL) correspond à l'horloge et au temps actuel, la valeur change donc constamment. Si la division renvoie un reste, on éxécute le if, si la division ne renvoie pas de reste, on éxécute le else. diff --git a/BUT1/DEV1.1/Allocation_Dynamique/1.c b/BUT1/DEV1.1/Allocation_Dynamique/1.c new file mode 100644 index 0000000..aa6edf9 --- /dev/null +++ b/BUT1/DEV1.1/Allocation_Dynamique/1.c @@ -0,0 +1,33 @@ +#include +#include + +int main(void){ + + /*avec allocation dynamique*/ + int nombre_de_reels,i,j,b=0; + double *tab_reel = NULL; + printf("Combien de valeur souhaité vous ajouter à votre tableau ? : "); + scanf("%d",&nombre_de_reels); + tab_reel = (double*) malloc(nombre_de_reels*sizeof(double)); + + for(i=0;i +#include + +char inverse(const char* s){ + + return EXIT_SUCCESS; +} + +int main(void){ + +} \ No newline at end of file diff --git a/BUT1/DEV1.1/Bibliotheque_Math/arctique.c b/BUT1/DEV1.1/Bibliotheque_Math/arctique.c new file mode 100644 index 0000000..3dc42f2 --- /dev/null +++ b/BUT1/DEV1.1/Bibliotheque_Math/arctique.c @@ -0,0 +1,22 @@ +#include +#include +#include + +int main (void) +{ + double R; + double fi; + double x; + double y; + + printf("Entrez les coordonnées correspondant au rayon sur le plan :\n", R); + scanf("%lf" , &R); //R est le rayon + printf("Entrez les coordonnées correspondant à fi sur le plan :\n", fi); + scanf("%lf" , &fi); //fi est l'angle par rapport à l'axe des abssices + x=R*cos(fi); // on convertit les coordonnées polaires en cartésien ici + y=R*sin(fi); + + printf("Les coordonnées en x sont : %lf\n" , x); + printf("Les coordonnées en y sont : %lf\n" , y); + return EXIT_SUCCESS; //on peut mettre return 0; aussi il me semble +} diff --git a/BUT1/DEV1.1/Bibliotheque_Math/chiffres.c b/BUT1/DEV1.1/Bibliotheque_Math/chiffres.c new file mode 100644 index 0000000..4affd56 --- /dev/null +++ b/BUT1/DEV1.1/Bibliotheque_Math/chiffres.c @@ -0,0 +1,18 @@ +#include +#include +#include + +int main (void) +{ + + double nombre=0; + + printf("Entrez un réel :\n"); + scanf("%lf", &nombre); + printf("Le nombre réel est : %lf\n" , nombre); + int x = (int) trunc(nombre); + int y = (int) trunc(nombre*10); + printf("Le chiffre des unités est : %d\n" , x%10); + printf("Le chiffre des dixièmes est : %d\n" , y%10); + return 0; +} diff --git a/BUT1/DEV1.1/Bibliotheque_Math/distance.c b/BUT1/DEV1.1/Bibliotheque_Math/distance.c new file mode 100644 index 0000000..7c121d5 --- /dev/null +++ b/BUT1/DEV1.1/Bibliotheque_Math/distance.c @@ -0,0 +1,23 @@ +#include +#include +#include + +int main (void) +{ + + double x1, x2, y1, y2, distance; + + printf("Saisissez les coordonnées x du plan:\n"); + scanf("%lf", &x1); + printf("Saisissez les coordonnées x du plan :\n"); + scanf("%lf", &x2); + printf("Saisissez les coordonnées y du plan :\n"); + scanf("%lf", &y1); + printf("Saisissez les coordonnées y du plan :\n"); + scanf("%lf", &y2); + + distance = sqrt((y1-x1)*(y1-x1) + (y2-x2)*(y2-x2)); + printf("La Distance entre (%.2lf,%.2lf) et (%.2lf,%.2lf) = %f\n", x1, x2, y1, y2, distance); + + return 0; +} diff --git a/BUT1/DEV1.1/Bibliotheque_Math/dureedevol.c b/BUT1/DEV1.1/Bibliotheque_Math/dureedevol.c new file mode 100644 index 0000000..8dc42bc --- /dev/null +++ b/BUT1/DEV1.1/Bibliotheque_Math/dureedevol.c @@ -0,0 +1,19 @@ +#include +#include +#include +int main(void) { + double vitesse_avion; + double vitesse_vent; + double distance; + double duree; + printf("vitesse de l'avion en km/h : "); + scanf("%lf",&vitesse_avion); + printf("vitesse du vent en km/h : "); + scanf("%lf",&vitesse_vent); + printf("distance du trajet en km : "); + scanf("%lf",&distance); + duree = distance / vitesse_avion; + printf("durée du vol en heures : "); + printf("%lf\n", duree); + return EXIT_SUCCESS; +} diff --git a/BUT1/DEV1.1/Boucles/bornes.c b/BUT1/DEV1.1/Boucles/bornes.c new file mode 100644 index 0000000..7c0c6fb --- /dev/null +++ b/BUT1/DEV1.1/Boucles/bornes.c @@ -0,0 +1,43 @@ +#include +#include +int main(void) +{ + int valeurMax; + int valeurMin; + int valeurActuelle; + + printf("Saisissez un entier supérieur ou égal à 0 :\n"); + printf("Ou saisissez -1 pour arrêter le programme : "); + scanf("%d", &valeurActuelle); + valeurMax = valeurActuelle; + valeurMin = valeurActuelle; + + if (valeurActuelle == -1) + { + printf("Vous n'avez saisi aucune valeur"); + return EXIT_SUCCESS; + } + while (valeurActuelle != -1) + { + if (valeurActuelle < 0) + { + printf("Merci de saisir un entier supérieur ou égale à 0"); + return EXIT_SUCCESS; + } + if (valeurActuelle > valeurMax) + { + valeurMax = valeurActuelle; + } + if (valeurActuelle < valeurMin) + { + valeurMin = valeurActuelle; + } + printf("Saisir valeur la suivante (-1 = stop) : \n"); + scanf("%d", &valeurActuelle); + } + printf("Valeur minimale saisie : "); + printf("%d\n", valeurMin); + printf("Valeur maximale saisie : "); + printf("%d\n", valeurMax); + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/DEV1.1/Boucles/division.c b/BUT1/DEV1.1/Boucles/division.c new file mode 100644 index 0000000..6dea387 --- /dev/null +++ b/BUT1/DEV1.1/Boucles/division.c @@ -0,0 +1,36 @@ +#include +#include +int main(void) +{ + int numerateur = 0; + int denominateur = 0; + int quotient = 0; + printf("Saisissez un entier : "); + scanf("%d", &numerateur); + printf("Saisissez un entier strictement positif : "); + scanf("%d", &denominateur); + if (numerateur >= 0) + { + while (numerateur >= denominateur) + { + numerateur -= denominateur; + quotient += 1; + } + } + else + { + while (numerateur < 0) + { + numerateur += denominateur; + quotient -= 1; + } + } + printf("%d", quotient * denominateur + numerateur); + printf(" = "); + printf("%d", quotient); + printf(" x "); + printf("%d", denominateur); + printf(" + "); + printf("%d\n", numerateur); + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/DEV1.1/Boucles/filtrage.c b/BUT1/DEV1.1/Boucles/filtrage.c new file mode 100644 index 0000000..da32315 --- /dev/null +++ b/BUT1/DEV1.1/Boucles/filtrage.c @@ -0,0 +1,15 @@ +#include +#include +int main(void) +{ + double note_du_bac = 0; + do + { + printf("Saisissez une note de bac comprise entre 0 et 10 : \n"); + scanf("%lf", ¬e_du_bac); + + } while (note_du_bac >= 10); + + printf("Votre notre de bac est comprise entre 0 et 10.\n"); + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/DEV1.1/Boucles/s#U00e9quencedowhile.c b/BUT1/DEV1.1/Boucles/s#U00e9quencedowhile.c new file mode 100644 index 0000000..19c625b --- /dev/null +++ b/BUT1/DEV1.1/Boucles/s#U00e9quencedowhile.c @@ -0,0 +1,30 @@ +#include +#include +int main(void) +{ + int nombre1 = 0; + int nombre2 = 0; + + printf("Saisissez un nombre entier :\n"); + scanf("%d", &nombre1); + + printf("Saisissez le second nombre :\n"); + scanf(" %d", &nombre2); + + if (nombre1 > nombre2) + { + + printf("Erreur : le premier nombre est supérieur au second. \n"); + } + else + { + + nombre1 = nombre1 + 1; + do + { + + printf("%d\n", nombre1); + nombre1 = nombre1 + 1; + } while (nombre1 < nombre2); + } +} \ No newline at end of file diff --git a/BUT1/DEV1.1/Boucles/s#U00e9quencefor.c b/BUT1/DEV1.1/Boucles/s#U00e9quencefor.c new file mode 100644 index 0000000..94b7b4d --- /dev/null +++ b/BUT1/DEV1.1/Boucles/s#U00e9quencefor.c @@ -0,0 +1,29 @@ +#include +#include +int main(void) +{ + int nombre1 = 0; + int nombre2 = 0; + + printf("Saisissez un nombre entier :\n"); + scanf("%d", &nombre1); + + printf("Saisissez le second nombre :\n"); + scanf(" %d", &nombre2); + + if (nombre1 > nombre2) + { + + printf("Erreur : le premier nombre est supérieur au second. \n"); + } + else + { + + for (int i = nombre1; i < nombre2; i++) + + { + + printf("%d\n", i); + } + } +} \ No newline at end of file diff --git a/BUT1/DEV1.1/Boucles/s#U00e9quencewhile.c b/BUT1/DEV1.1/Boucles/s#U00e9quencewhile.c new file mode 100644 index 0000000..9ede0fa --- /dev/null +++ b/BUT1/DEV1.1/Boucles/s#U00e9quencewhile.c @@ -0,0 +1,30 @@ +#include +#include +int main(void) +{ + int nombre1 = 0; + int nombre2 = 0; + + printf("Saisissez un nombre entier :\n"); + scanf("%d", &nombre1); + + printf("Saisissez le second nombre :\n"); + scanf(" %d", &nombre2); + + if (nombre1 > nombre2) + { + + printf("Erreur : le premier nombre est supérieur au second. \n"); + } + else + { + + while (nombre1 < nombre2-1) + + { + nombre1++; + + printf("%d\n", nombre1); + } + } +} \ No newline at end of file diff --git a/BUT1/DEV1.1/Boucles/table.c b/BUT1/DEV1.1/Boucles/table.c new file mode 100644 index 0000000..79d9bb7 --- /dev/null +++ b/BUT1/DEV1.1/Boucles/table.c @@ -0,0 +1,15 @@ +#include +#include +int main(void) +{ + + int nombre1 = 0; + + printf("Saisissez un nombre entier \n"); + scanf("%d", &nombre1); + + for (int i = 1; i <= 10; i++) + { + printf("%d * %4d = %6d\n", nombre1, i, nombre1 * i); + } +} diff --git a/BUT1/DEV1.1/Boucles/tables.c b/BUT1/DEV1.1/Boucles/tables.c new file mode 100644 index 0000000..515157c --- /dev/null +++ b/BUT1/DEV1.1/Boucles/tables.c @@ -0,0 +1,24 @@ +#include +#include +int main(void) +{ + int table; + printf("Choisissez la table de multiplication que vous voulez afficher :\n"); + printf("Ou saisissez -1 pour stopper le programme : "); + scanf("%d", &table); + while (table != -1) + { + int i; + for (i = 0; i <= 10; i += 1) + { + printf("%d", i); + printf(" x "); + printf("%d", table); + printf(" = "); + printf("%d\n", i * table); + } + printf("Table à afficher (-1 = stop) : "); + scanf("%d", &table); + } + return EXIT_SUCCESS; +} diff --git a/BUT1/DEV1.1/Boucles_encore/figures.c b/BUT1/DEV1.1/Boucles_encore/figures.c new file mode 100644 index 0000000..91b28ad --- /dev/null +++ b/BUT1/DEV1.1/Boucles_encore/figures.c @@ -0,0 +1,47 @@ +#include +#include + +void triangle(){ + +} +int main(void) { + int hauteur_figure,ligne,colonne; + char choix_utilisateur; + while (choix_utilisateur!='q'){ + printf("t) Triangle\n"); + printf("c) Carré\n"); + printf("q) Quitter\n"); + printf("Votre choix ? "); + choix_utilisateur = getchar(); + printf("\n"); + if ((choix_utilisateur=='t')||(choix_utilisateur=='c')){ + printf("Hauteur ? "); + scanf("%d", &hauteur_figure); + printf("\n"); + for (ligne=1;ligne<=hauteur_figure;ligne+=1){ + if (choix_utilisateur=='t'){ + int caractere; + for (caractere=1;caractere<=ligne;caractere+=1){ + printf("*"); + } + printf("\n"); + } + if (choix_utilisateur=='c'){ + for (colonne=1;colonne<=hauteur_figure;colonne+=1){ + if ((colonne==1)||(ligne==1)||(colonne==hauteur_figure)||(ligne==hauteur_figure)){ + printf("*"); + } else{ + printf(" "); + } + } + printf("\n"); + } + } + printf("_____________________\n"); + choix_utilisateur = getchar(); + } + } + printf("Au revoir...\n"); + + return EXIT_SUCCESS; +} diff --git a/BUT1/DEV1.1/Boucles_encore/figures2.c b/BUT1/DEV1.1/Boucles_encore/figures2.c new file mode 100644 index 0000000..28f1007 --- /dev/null +++ b/BUT1/DEV1.1/Boucles_encore/figures2.c @@ -0,0 +1,52 @@ +#include +#include + + +int main(void) { + /*X et Y c'est juste pour faire tourner les boucles => un compteur + le h c'est hauteur + le c c'est pour faire tourner une boule infini*/ + int x,y,h,c; + char choix; + printf("t) Triangle\nc) Carré\nq) Quitter\nVotre choix : "); + scanf("%c",&choix); + for(c=0;c!=-1;c++){ + if(choix == 't'){ + printf("hauteur ? "); + scanf("%d",&h); + for(x=0;x +#include + +int main(void) +{ + int hauteur = 0; + + printf("Hauteur ? "); + scanf("%d", &hauteur); + + for (int i = 0; i < hauteur; i++) + { + int espace = hauteur - i; + printf("%*c", espace, '*'); + + if (i != 0) + { + for (int j = 0; j < i * 2; j++) + { + printf("*"); + } + } + + printf("\n"); + } +} \ No newline at end of file diff --git a/BUT1/DEV1.1/Boucles_suite/devinette.c b/BUT1/DEV1.1/Boucles_suite/devinette.c new file mode 100644 index 0000000..912f102 --- /dev/null +++ b/BUT1/DEV1.1/Boucles_suite/devinette.c @@ -0,0 +1,43 @@ +#include +#include +#include +int main(void) +{ + + int generate_random(int min, int max){ + return min + rand() / (RAND_MAX / (max - min + 1)+1); + + void main(){ + + srand(time(NULL)); + + int random_number = generate_random(0,100); + int num=0; + + + + + + for(int i = 0; i<5; i++){ + printf("Devinez mon nombre entre 1 et 100 \n"); + scanf("%d", &num); + + if(random_number==num){ + + printf("Vous avez trouvez mon nombre, gagné !\n"); + break; + } + + else if(num>random_number){ + + printf("Le nombre est plus petit\n"); + } + else + { + printf("Le nombre est plus grand\n"); + } + } + printf("Le nombre était %d\n", random_number); + } + } +} diff --git a/BUT1/DEV1.1/Boucles_suite/facteurs.c b/BUT1/DEV1.1/Boucles_suite/facteurs.c new file mode 100644 index 0000000..60c081c --- /dev/null +++ b/BUT1/DEV1.1/Boucles_suite/facteurs.c @@ -0,0 +1,33 @@ +#include +#include +int main(void) +{ + int nombreSaisi; + int nombre = nombreSaisi; + int premier; + printf("Saisissez un entier naturel : "); + scanf("%d", &nombreSaisi); + printf("%d", nombreSaisi); + printf(" = "); + for (premier = 2; (premier <= nombreSaisi) || (nombreSaisi != 1); premier += 1) + { + int diviseur; + for (diviseur = 1; (premier % diviseur != 0) && (diviseur == 1); diviseur += 1) + { + if (premier - 1 == diviseur) + { + int occurence; + for (occurence = 0; nombreSaisi % premier == 0; occurence += 1) + { + nombreSaisi = nombreSaisi / premier; + } + printf(" x "); + printf("%d", premier); + printf("^"); + printf("%d", occurence); + } + } + } + + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/DEV1.1/Boucles_suite/figures.c b/BUT1/DEV1.1/Boucles_suite/figures.c new file mode 100644 index 0000000..332a354 --- /dev/null +++ b/BUT1/DEV1.1/Boucles_suite/figures.c @@ -0,0 +1,47 @@ +#include +#include +int main(void) +{ + int nombreSaisi; + int carre1; + int carre2; + int carre3; + int carre4; + printf("Saisissez un entier naturel : "); + scanf("%d", &nombreSaisi); + for (carre1 = 0; carre1 * carre1 * 4 < nombreSaisi; carre1 += 1) + { + } + for (; carre1 * carre1 <= nombreSaisi; carre1 += 1) + { + for (carre2 = 0; carre1 * carre1 + carre2 * carre2 * 3 < nombreSaisi; carre2 += 1) + { + } + for (; carre1 * carre1 + carre2 * carre2 <= nombreSaisi; carre2 += 1) + { + for (carre3 = 0; carre1 * carre1 + carre2 * carre2 + carre3 * carre3 * 2 < nombreSaisi; carre3 += 1) + { + } + for (; carre1 * carre1 + carre2 * carre2 + carre3 * carre3 <= nombreSaisi; carre3 += 1) + { + for (carre4 = 0; carre1 * carre1 + carre2 * carre2 + carre3 * carre3 + carre4 * carre4 < nombreSaisi; carre4 += 1) + { + } + if (carre1 * carre1 + carre2 * carre2 + carre3 * carre3 + carre4 * carre4 == nombreSaisi) + { + printf("%d", nombreSaisi); + printf(" = "); + printf("%d", carre1); + printf("^2 + "); + printf("%d", carre2); + printf("^2 +"); + printf("%d", carre3); + printf("^2 + "); + printf("%d", carre4); + printf("^2\n"); + } + } + } + } + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/DEV1.1/Boucles_suite/primarite.c b/BUT1/DEV1.1/Boucles_suite/primarite.c new file mode 100644 index 0000000..a0527ae --- /dev/null +++ b/BUT1/DEV1.1/Boucles_suite/primarite.c @@ -0,0 +1,24 @@ +#include +#include +#include +int main (void){ + + int entier_utilisateur=0; + int i=0; + + printf("Saisissez un nombre entier : \n"); + scanf("%d" , &entier_utilisateur); + + for(i=entier_utilisateur-1;i>1;i-=1){ + + if(entier_utilisateur%i==0){ + printf("Ce nombre n'est pas premier\n"); + } + } + if(entier_utilisateur==1){ + printf("Ce nombre n'est pas premier\n"); + } + printf("Ce nombre est premier\n"); + return EXIT_SUCCESS; + } + diff --git a/BUT1/DEV1.1/Boucles_suite/progression.c b/BUT1/DEV1.1/Boucles_suite/progression.c new file mode 100644 index 0000000..f2d6e4b --- /dev/null +++ b/BUT1/DEV1.1/Boucles_suite/progression.c @@ -0,0 +1,32 @@ +#include +#include +int main(void) +{ + int i; + int n0 = 0; + int n1 = 1; + int n; + printf("Saisissez un entier : "); + scanf("%d", &n); + for (i = 0; i < n; i += 1) + { + if (i % 2 == 0) + { + n0 = n0 + n1; + } + else + { + n1 = n0 + n1; + } + } + if (n % 2 == 0) + { + printf("%d\n", n0); + } + else + { + printf("%d\n", n1); + } + + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/DEV1.1/Boucles_suite/tables.c b/BUT1/DEV1.1/Boucles_suite/tables.c new file mode 100644 index 0000000..1f6b04b --- /dev/null +++ b/BUT1/DEV1.1/Boucles_suite/tables.c @@ -0,0 +1,63 @@ +#include +#include +int main(void) +{ + int taille; + int x; + printf("Saisissez la taille de la table de multiplication que vous souhaitez : "); + scanf("%d", &taille); + for (x = -2; x <= taille; x += 1) + { + int y; + printf("\n"); + for (y = -2; y <= taille; y += 1) + { + if (x == -2) + { + if (y == -2) + { + printf(" X "); + } + if (y == -1) + { + printf(" | "); + } + if (y >= 0) + { + printf("%3d", y); + } + } + if (x == -1) + { + if (y == -2) + { + printf("---"); + } + if (y == -1) + { + printf("-+-"); + } + if (y >= 0) + { + printf("---"); + } + } + if (x >= 0) + { + if (y == -2) + { + printf("%3d", x); + } + if (y == -1) + { + printf(" | "); + } + if (y >= 0) + { + printf("%3d", x * y); + } + } + } + } + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/DEV1.1/CM2 2022/.vscode/c_cpp_properties.json b/BUT1/DEV1.1/CM2 2022/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..c2098a2 --- /dev/null +++ b/BUT1/DEV1.1/CM2 2022/.vscode/c_cpp_properties.json @@ -0,0 +1,18 @@ +{ + "configurations": [ + { + "name": "linux-gcc-x64", + "includePath": [ + "${workspaceFolder}/**" + ], + "compilerPath": "/usr/bin/gcc", + "cStandard": "${default}", + "cppStandard": "${default}", + "intelliSenseMode": "linux-gcc-x64", + "compilerArgs": [ + "" + ] + } + ], + "version": 4 +} \ No newline at end of file diff --git a/BUT1/DEV1.1/CM2 2022/.vscode/launch.json b/BUT1/DEV1.1/CM2 2022/.vscode/launch.json new file mode 100644 index 0000000..9255d4d --- /dev/null +++ b/BUT1/DEV1.1/CM2 2022/.vscode/launch.json @@ -0,0 +1,24 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "C/C++ Runner: Debug Session", + "type": "cppdbg", + "request": "launch", + "args": [], + "stopAtEntry": false, + "externalConsole": false, + "cwd": "/export/home/an23/stiti/DEV/DEV1.1/CM2 2022", + "program": "/export/home/an23/stiti/DEV/DEV1.1/CM2 2022/build/Debug/outDebug", + "MIMode": "gdb", + "miDebuggerPath": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + } + ] +} \ No newline at end of file diff --git a/BUT1/DEV1.1/CM2 2022/.vscode/settings.json b/BUT1/DEV1.1/CM2 2022/.vscode/settings.json new file mode 100644 index 0000000..bfd7745 --- /dev/null +++ b/BUT1/DEV1.1/CM2 2022/.vscode/settings.json @@ -0,0 +1,37 @@ +{ + "C_Cpp_Runner.cCompilerPath": "gcc", + "C_Cpp_Runner.cppCompilerPath": "g++", + "C_Cpp_Runner.debuggerPath": "gdb", + "C_Cpp_Runner.cStandard": "", + "C_Cpp_Runner.cppStandard": "", + "C_Cpp_Runner.msvcBatchPath": "", + "C_Cpp_Runner.useMsvc": false, + "C_Cpp_Runner.warnings": [ + "-Wall", + "-Wextra", + "-Wpedantic", + "-Wshadow", + "-Wformat=2", + "-Wconversion", + "-Wnull-dereference", + "-Wsign-conversion" + ], + "C_Cpp_Runner.enableWarnings": true, + "C_Cpp_Runner.warningsAsError": false, + "C_Cpp_Runner.compilerArgs": [], + "C_Cpp_Runner.linkerArgs": [], + "C_Cpp_Runner.includePaths": [], + "C_Cpp_Runner.includeSearch": [ + "*", + "**/*" + ], + "C_Cpp_Runner.excludeSearch": [ + "**/build", + "**/build/**", + "**/.*", + "**/.*/**", + "**/.vscode", + "**/.vscode/**" + ], + "C_Cpp_Runner.useAddressSanitizer": false +} \ No newline at end of file diff --git a/BUT1/DEV1.1/CM2 2022/1/Makefile b/BUT1/DEV1.1/CM2 2022/1/Makefile new file mode 100644 index 0000000..ba0cb97 --- /dev/null +++ b/BUT1/DEV1.1/CM2 2022/1/Makefile @@ -0,0 +1,45 @@ +### VARIABLES ### + +CC = gcc +CFLAGS = -ansi \ + -pedantic +EXE = repetition_dans_tableaux +OFILES = main.o \ + repetition.o + +### BUT PAR DEFAUT ### + +but : ${EXE} + +### REGLES ESSENTIELLES ### + +programme : repetition.o main.o + $(CC) $(CFLAGS) -o programme repetition.o main.o + +repetition.o : repetition.c repetition.h + $(CC) $(CFLAGS) -c repetition.c + +main.o : main.c repetition.h + $(CC) $(CFLAGS) -c main.c + + + +${EXE} : ${OFILES} + $(CC) $(CFLAGS) -o ${EXE} ${OFILES} + +### REGLES OPTIONNELLES ### + +clean : + -rm -f ${OFILES} + +mrproper : clean but + +### BUTS FACTICES ### + +.PHONY : but clean mrproper + +### FIN ### + + + + diff --git a/BUT1/DEV1.1/CM2 2022/1/programme.c b/BUT1/DEV1.1/CM2 2022/1/programme.c new file mode 100644 index 0000000..3c75546 --- /dev/null +++ b/BUT1/DEV1.1/CM2 2022/1/programme.c @@ -0,0 +1,20 @@ +#include +#include +#include "repetition.h" + + +int main(int argc, char* argv[]){ + int i; + long* tab; + tab = (long*) malloc(argc*sizeof(long)); + + for(i=1;iH=R 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 literal 0 HcmV?d00001 diff --git a/BUT1/DEV1.1/CM2 2022/1/repetition.c b/BUT1/DEV1.1/CM2 2022/1/repetition.c new file mode 100644 index 0000000..cc28295 --- /dev/null +++ b/BUT1/DEV1.1/CM2 2022/1/repetition.c @@ -0,0 +1,12 @@ +#include +#include + +int repetition(long tab[],int taille){ + int i; + for(i=0;i +#include +#import +#include + +int main(void){ + struct +} \ No newline at end of file diff --git a/BUT1/DEV1.1/CM2 2022/test/timer.c b/BUT1/DEV1.1/CM2 2022/test/timer.c new file mode 100644 index 0000000..29cc0a5 --- /dev/null +++ b/BUT1/DEV1.1/CM2 2022/test/timer.c @@ -0,0 +1,38 @@ +#include +#include +#include +#define DELTA 1000000L + +void update_timer(unsigned long int start) { + int secondes = ((Microsecondes() - start) / DELTA); + int minutes = 0; + char buf[100]; + + while (secondes >= 60) { + minutes += 1; + secondes -= 60; + } + + ChoisirEcran(3); + EffacerEcran(CouleurParComposante(54, 57, 63)); + ChoisirCouleurDessin(CouleurParNom("white")); + snprintf(buf, 100, "Temps : %02d:%02d", minutes, secondes); + EcrireTexte(20, 20, buf, 1); + CopierZone(3, 0, 0, 0, 150, 30, 0, 0); + ChoisirEcran(0); +} + +unsigned long int start_timer(unsigned long int start) { + start = Microsecondes() - start; + update_timer(start); + return start; +} + +unsigned long int stop_timer(unsigned long int start) { + return Microsecondes() - start; +} + +void wait(int sec) { + unsigned long int end = Microsecondes() + (sec * DELTA); + while (Microsecondes() <= end); +} \ No newline at end of file diff --git a/BUT1/DEV1.1/CM2_2/.vscode/extensions.json b/BUT1/DEV1.1/CM2_2/.vscode/extensions.json new file mode 100644 index 0000000..e6a19ea --- /dev/null +++ b/BUT1/DEV1.1/CM2_2/.vscode/extensions.json @@ -0,0 +1,5 @@ +{ + "recommendations": [ + "bito.bito" + ] +} \ No newline at end of file diff --git a/BUT1/DEV1.1/CM2_2/.vscode/settings.json b/BUT1/DEV1.1/CM2_2/.vscode/settings.json new file mode 100644 index 0000000..9deab0a --- /dev/null +++ b/BUT1/DEV1.1/CM2_2/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "files.associations": { + "stdlib.h": "c" + } +} \ No newline at end of file diff --git a/BUT1/DEV1.1/CM2_2/CM2/Makefile b/BUT1/DEV1.1/CM2_2/CM2/Makefile new file mode 100644 index 0000000..6e4b3f0 --- /dev/null +++ b/BUT1/DEV1.1/CM2_2/CM2/Makefile @@ -0,0 +1,13 @@ +carre : carre.o lightness.o + gcc -ansi -pedantic -o carre carre.o lightness.o + +lightness.o : lightness.c + gcc -ansi -pedantic -c lightness.c + +carre.o : carre.c lightness.h + gcc -ansi -pedantic -c carre.c + +clean : + rm -f carre.o lightness.o + +.PHONY : clean \ No newline at end of file diff --git a/BUT1/DEV1.1/CM2_2/CM2/carre b/BUT1/DEV1.1/CM2_2/CM2/carre new file mode 100755 index 0000000000000000000000000000000000000000..ff3e754894ff018ad5bcd08d9908e5cf6c71f905 GIT binary patch literal 15696 zcmeHOeQaA-6~A`ZHQknvmUYdVt+BQhwV=59Rz?@DD3mNJ9EmDK~GDd2Zdw@uF!Ak{$1+qyNr$_c5|YCMIhpTbgT{8-uB_V7;CK&8rp%t*K30 z`jvl5WeF3$Px%ULKide=La{gFptKYJm0e#P-_f1f_tSx&zmz<7>GccWShkU3=sc)T ziXkD44iWOnA=rn}HzH_xk-+ZJV12O3ZZ|Y4tEX?X6^$ihL-ABPmh9WyF*25j^+k4%&`?98 zV+kJ0GNDBSF>9<4tOoi=+O+A~`qka=%6gty6<A%9-F+dw0#m;dG*e%ipD(YTqPU~15x-5x zH{DBW-IZ|WT=?+&8^eb$EDHOMhv%-OZ$<|{;|@yl^MmEpomcrZzp2(zaMeUZe|Wm} zRYaqk~u5lt1ckVF0eZf4=D9DQdG0aC|7QVBS3S_!vY~0in&@Z%QuV+nup8ib z-Vq4W*YJh6YS9LH7W(Ty7Xz8AXbgM9u=&@<5Aguefe`TSeZ^z4(ww{N@h zO;-4-Zdy|EG``RgPS5;v=;xyp(78lE`nn5EdL}#$d>6DTtLQGPytn+uhfAi^##I|W z)^HbnL)F~RLLbEVI|*njt9a7iQF^_98%8jG`kwnX{HF^1Z`%F?z@Nl?X-u1MX*VIB zcp30A;AOzefR_O;16~Ha40svvGT>$4et zEsAL>$Mu8s^pj-LDEoV*)cmbv{AnIo@L8UioL83Pq!v-e|7+fy58OHwk5cvdz07<( zP1UyK8DA^4{S^BzvMuxGVgBn%>c`y!H*;ZWH|w3O2U+i7Ej+0Y-PF3s#i(VmQSW!)aakusYo5MfJZ*Ewk&&wTYKH z96q(uUN?eoLW7sSKw8sp7=Z%B7{AbXrCJ**bWXu6*3UD*E3ledLTEVT1+bcjCSG3OMuX04ir1O`%?DUD$Gh|PaovBJ zI>qOEiaVlW5t^qv{vO}~j&Z7;!1WJCP7v*ffG_vsF6mnLS@?>bml}v9ld<3c>coeJ z(}`Frg|^lCnJsObdpc16jdzIE6}Gy!w{7mS!kycdwW)V&dt0xywYz&qSD)3_*52EN z%5Zm0dPu6x|3!s4m9^WkRGDtYqLFk&Q5}1nYuF3?_B_?_M9fsa7x*oU_@-q2AL`ew zXll$FMzK8Aw)bpBR5YHjCQ`AeF0C)@D5h)bcc)U^nJ%@rEELFFU0XV>e^w4(Sc+fR zEzT>gR4}!7G#%LuolY7(EG?An$CBeJm>5gPf$^>J>)?hL+8ncF@;EH7!7FJUP6D5YU(Q#xnK7dij&=+2UdH~ZI(yM|4W22+7 z1hVp<3w_?>Er4Hzja2dnmuUICXSa@(Ht9QY&}XdhTbM681fNsn^H;EDG@SfN=8Km5 zp2W+2N9-OK{{Ztv2PBZSoBt``f5B(A%wP5~qUHQ$ALE{X1bo`V2w(O&qDv^b5IRR{ z3SagcabPrM;mf{BwCs}*qJ_H?Q$2(h?MZ|$`w-E$aHPy%;zWM|e%j-RE&CkNwajzD>03^N3G-J2(FzFv^MaZ{NrHelGi2glKVJ zfBNm;$qz73^e#iQU*%&$^eZm@6gxz>OJcYO;Yo+za`9z_n2=F6W~bJ z9c+qn^Jzap=P&%ufQb}M&tRP5=AVSq$)60EXwg4*lF^pyCot`=%5d=8*8Y1Y`TIS0 zyx5|D3vRiCFW*y6*8qe_oUyLjf}e$h){cxX`%C-pG3n$WwEjtiC)e>jFbWaA{2f(x zJw+?E)+qZ`_@Xbu&$dA(Oy)29sTStD z<7q6Xl=Ao-Zo7o0c_hGsQG9S5r()S3NJDRqH8cg$H8HhbD S6MNd?{2%bbzr{sxnd +#include +#include +#include "lightness.h" + +#define LIGHT 0 +#define DARK 1 +#define RED 1 +#define GREEN 2 +#define BLUE 4 +#define LIGHT_RED 217 +#define DARK_RED 124 +#define LIGHT_GREEN 157 +#define DARK_GREEN 34 +#define LIGHT_BLUE 147 +#define DARK_BLUE 19 + + + +int hue(void) { + int choice = rand()%3; + if (choice == 0) { + return RED; + } else if (choice == 1) { + return GREEN; + } else /* if (choice == 2) */ { + return BLUE; + } +} + +int main(void) { + int l, c, v; + + srand(time(NULL)); + l = lightness(); + c = hue(); + + if (c == RED) { + v = (l == LIGHT) ? LIGHT_RED : DARK_RED; + } else if (c == GREEN) { + v = (l == LIGHT) ? LIGHT_GREEN : DARK_GREEN; + } else /* if (c == BLUE) */ { + v = (l == LIGHT) ? LIGHT_BLUE : DARK_BLUE; + } + + printf("┏━━━━┓\n"); + printf("┃\33[48;5;%dm \33[m┃\n", v); + printf("┃\33[48;5;%dm \33[m┃\n", v); + printf("┗━━━━┛\n"); + + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/DEV1.1/CM2_2/CM2/exo1.c b/BUT1/DEV1.1/CM2_2/CM2/exo1.c new file mode 100644 index 0000000..3f37f0a --- /dev/null +++ b/BUT1/DEV1.1/CM2_2/CM2/exo1.c @@ -0,0 +1,13 @@ +#include +#include + +int main(int argc, char* argv[]){ /* ou "char**"" */ + long numerateur = strtol(argv[1],NULL,10); + long denominateur = strtol(argv[2],NULL,10); + ldiv_t calcul = ldiv(numerateur,denominateur); + + printf("quotient : %d\n",calcul.quot); + printf("reste : %d\n",calcul.rem); + + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/DEV1.1/CM2_2/CM2/exo3.c b/BUT1/DEV1.1/CM2_2/CM2/exo3.c new file mode 100644 index 0000000..f2c8646 --- /dev/null +++ b/BUT1/DEV1.1/CM2_2/CM2/exo3.c @@ -0,0 +1,39 @@ +#include +#include + +int* suite(int entier){ + int i = 0, result = entier, nombre_operation; + int* tab; + + for (nombre_operation = 0; (result % 2) != 0; i++){ + result = result / 2; + } + + tab = (int*) malloc(nombre_operation * sizeof(int)); + tab[0] = entier; + + for (i = 1; (entier % 2) != 0; i++){ + entier = entier / 2; + tab[i] = entier; + printf("%d", tab[i]); + } + + return tab; +} + +int main(void){ + int i; + int* tab1 = suite(5); + int* tab2 = suite(6); + int* tab3 = suite(7); + + for(i=0;i<10;i++){ + printf("%d\n",tab1[i]); + } + + free(tab1); + free(tab2); + free(tab3); + + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/DEV1.1/CM2_2/CM2/exo4.c b/BUT1/DEV1.1/CM2_2/CM2/exo4.c new file mode 100644 index 0000000..88358e1 --- /dev/null +++ b/BUT1/DEV1.1/CM2_2/CM2/exo4.c @@ -0,0 +1,27 @@ +#include +#include + +int main(void){ + FILE* fichier = NULL; + int taille_fichier = 0,entier = 0, resultat_fscanf = 0; + + fichier = fopen("reitne","r"); + if(fichier == NULL){ + fputs("reitne inaccessible !\n",stderr); + return EXIT_FAILURE; + } + fseek(fichier,0L,SEEK_END); + taille_fichier = ftell(fichier); + + while(1){ + resultat_fscanf = fscanf(fichier,"%d",&entier); + if(resultat_fscanf != 1){ + break; + } + } + printf("%d",entier); + + fclose(fichier); + return EXIT_SUCCESS; +} + diff --git a/BUT1/DEV1.1/CM2_2/CM2/lightness.c b/BUT1/DEV1.1/CM2_2/CM2/lightness.c new file mode 100644 index 0000000..da6f39f --- /dev/null +++ b/BUT1/DEV1.1/CM2_2/CM2/lightness.c @@ -0,0 +1,12 @@ +#include +#include +#include +#include "lightness.h" + +int lightness(void) { + if (time(NULL)%2) { + return LIGHT; + } else { + return DARK; + } +} diff --git a/BUT1/DEV1.1/CM2_2/CM2/lightness.h b/BUT1/DEV1.1/CM2_2/CM2/lightness.h new file mode 100644 index 0000000..0714cc3 --- /dev/null +++ b/BUT1/DEV1.1/CM2_2/CM2/lightness.h @@ -0,0 +1,9 @@ +#ifndef LIGHTNESS_H +#define LIGHTNESS_H + +#define LIGHT 0 +#define DARK 1 + +int lightness(void); + +#endif /* LIGHTNESS_H */ \ No newline at end of file diff --git a/BUT1/DEV1.1/CM2_2/EntrainementDS2/.vscode/settings.json b/BUT1/DEV1.1/CM2_2/EntrainementDS2/.vscode/settings.json new file mode 100644 index 0000000..cd321c4 --- /dev/null +++ b/BUT1/DEV1.1/CM2_2/EntrainementDS2/.vscode/settings.json @@ -0,0 +1,7 @@ +{ + "files.associations": { + "repetition.h": "c", + "mktime.C": "cpp" + }, + "editor.inlineSuggest.showToolbar": "onHover" +} \ No newline at end of file diff --git a/BUT1/DEV1.1/CM2_2/EntrainementDS2/Convertisseur/nanoTOseconde.c b/BUT1/DEV1.1/CM2_2/EntrainementDS2/Convertisseur/nanoTOseconde.c new file mode 100644 index 0000000..6bfedf6 --- /dev/null +++ b/BUT1/DEV1.1/CM2_2/EntrainementDS2/Convertisseur/nanoTOseconde.c @@ -0,0 +1,16 @@ +#include +#include + +int main() { + long int nanoseconde; + int seconde; + + printf("Entrez le nombre de nanosecondes : "); + scanf("%ld", &nanoseconde); + + seconde = nanoseconde / 1000000000; + + printf("Le nombre de secondes est : %d \n", seconde); + + return 0; +} \ No newline at end of file diff --git a/BUT1/DEV1.1/CM2_2/EntrainementDS2/Convertisseur/secondeTOnano.c b/BUT1/DEV1.1/CM2_2/EntrainementDS2/Convertisseur/secondeTOnano.c new file mode 100644 index 0000000..1f81904 --- /dev/null +++ b/BUT1/DEV1.1/CM2_2/EntrainementDS2/Convertisseur/secondeTOnano.c @@ -0,0 +1,16 @@ +#include +#include + +int main() { + int seconde; + long int nanoseconde; + + printf("Entrez le nombre de secondes : "); + scanf("%d",&seconde); + + nanoseconde = seconde * 1000000000; + + printf("Le nombre de nanosecondes est : %ld \n", nanoseconde); + + return 0; +} \ No newline at end of file diff --git a/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO 1/.vscode/c_cpp_properties.json b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO 1/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..c2098a2 --- /dev/null +++ b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO 1/.vscode/c_cpp_properties.json @@ -0,0 +1,18 @@ +{ + "configurations": [ + { + "name": "linux-gcc-x64", + "includePath": [ + "${workspaceFolder}/**" + ], + "compilerPath": "/usr/bin/gcc", + "cStandard": "${default}", + "cppStandard": "${default}", + "intelliSenseMode": "linux-gcc-x64", + "compilerArgs": [ + "" + ] + } + ], + "version": 4 +} \ No newline at end of file diff --git a/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO 1/.vscode/launch.json b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO 1/.vscode/launch.json new file mode 100644 index 0000000..b271c7a --- /dev/null +++ b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO 1/.vscode/launch.json @@ -0,0 +1,24 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "C/C++ Runner: Debug Session", + "type": "cppdbg", + "request": "launch", + "args": [], + "stopAtEntry": false, + "externalConsole": false, + "cwd": "/export/home/an23/stiti/Desktop/EntrainementDS2/SUJET1 /EXO 1", + "program": "/export/home/an23/stiti/Desktop/EntrainementDS2/SUJET1 /EXO 1/build/Debug/outDebug", + "MIMode": "gdb", + "miDebuggerPath": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + } + ] +} \ No newline at end of file diff --git a/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO 1/.vscode/settings.json b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO 1/.vscode/settings.json new file mode 100644 index 0000000..bfd7745 --- /dev/null +++ b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO 1/.vscode/settings.json @@ -0,0 +1,37 @@ +{ + "C_Cpp_Runner.cCompilerPath": "gcc", + "C_Cpp_Runner.cppCompilerPath": "g++", + "C_Cpp_Runner.debuggerPath": "gdb", + "C_Cpp_Runner.cStandard": "", + "C_Cpp_Runner.cppStandard": "", + "C_Cpp_Runner.msvcBatchPath": "", + "C_Cpp_Runner.useMsvc": false, + "C_Cpp_Runner.warnings": [ + "-Wall", + "-Wextra", + "-Wpedantic", + "-Wshadow", + "-Wformat=2", + "-Wconversion", + "-Wnull-dereference", + "-Wsign-conversion" + ], + "C_Cpp_Runner.enableWarnings": true, + "C_Cpp_Runner.warningsAsError": false, + "C_Cpp_Runner.compilerArgs": [], + "C_Cpp_Runner.linkerArgs": [], + "C_Cpp_Runner.includePaths": [], + "C_Cpp_Runner.includeSearch": [ + "*", + "**/*" + ], + "C_Cpp_Runner.excludeSearch": [ + "**/build", + "**/build/**", + "**/.*", + "**/.*/**", + "**/.vscode", + "**/.vscode/**" + ], + "C_Cpp_Runner.useAddressSanitizer": false +} \ No newline at end of file diff --git a/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO 1/Makefile b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO 1/Makefile new file mode 100644 index 0000000..e202ac3 --- /dev/null +++ b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO 1/Makefile @@ -0,0 +1,14 @@ +# BUT PRINCIPAL +repetition_ou_pas : main.o repetition.o + gcc -ansi -pedantic -o repetition_ou_pas repetition.o main.o + +repetition.o : repetition.c + gcc -ansi -pedantic -c repetition.c + +main.o : main.c repetition.h + gcc -ansi -pedantic -c main.c + +clean : + rm -f main.o repetition.o + +.PHONY : clean \ No newline at end of file diff --git a/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO 1/main.c b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO 1/main.c new file mode 100644 index 0000000..4faca23 --- /dev/null +++ b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO 1/main.c @@ -0,0 +1,25 @@ +#include +#include +#include "../EXO 1/repetition.h" + + +int main(int argc,char* argv[]){ /* Ou "char** argv" */ + int i; + long* tab; + tab = (long*) malloc(argc*sizeof(long)); + /* Création d'un tableau de argc - 1 élément (Autrement dit, création d'un tableau du nombre d'éléments donner en argument au programme sans compter le a.out)*/ + for(i=1;i +#include + +int repetition(long tab[], int taille){ + int i; + for(i=0;i6~4P}8iyvfW5v`>N<8XI39To7#W*Bx){nKvRbF+RmP&-l+B=R%TJJi$ zv#nF5CBhVCwX#J1(1I#KTO`^aNL33`2ncQB(lixFPLYs*1Yx37S}OrkQ7RWgmUHes zXFQ&+Bj5)T(i~~#yXW!Ud*{sT?46ynUyttT3x`62r9wO^P@AYxmIyiC+)fREi0BaO zV82;>LEH)Y9nz-!5e48?G8bNsm1M5~L|#2M%HX}qEEsu)h{#(>=5RtFjDn5>d8^Pt zx*vZ-^JHYdJD!GQ5KZn~tib>fMlTPiGTSKKVzzTR9-;BZ2$_c}^5%&*PdpcCym>;- zC*}mV4$7w=Bj7`c$h{DL-X!t-*h}$@I0nkW51sgbGu{E>MKsxs@Z%%OEEsvb$AL$u zmLhHse3}Poyp_&F6Xlw`{^ay`AXOEjk8IhE_8Me9P6y2Q6aE|@S+5*(biZJG z4cWIul%MUa7j`Q0Ix-s z%7|*A-FuzacbzDj= z6r}zZ>bQhlcoTFSulY{{xl3O&a#xJ0t2Yh|MVkxF7mex8Zs?>`_b`NiJgQeWd=n@z zq3O;XSd8ga-$2;0=+wbftFR4IT~nH`Za9f?GlUTTl#Jg#h_LmRk-K4>`}1z&++u|h zde^vg%h>=O{9acbRF>vPs~dWk_&C3loprz!+15kGROeZU6h`htXPuGn`~;Lz-RrO~ zj=;gZyXrbLLx*RU<~uXG)W&>ae+x$;_7L=8NAqPVJdnvl#gDWDu#AMZ=QJj44#9-GdRvc zIHOx~&s{ch+1Y&bGK_I|4Ajm+Ffgl6^4B&gGgq6{rjwP&YI-_M$Nk@y@qoXr# zq^+c5Wj^b*YQt1d_(+zlH1Kj#isdNhPG~nxiDENL6 zCG_l|2u;?6HmzM<`E7U>MLWLh$37myfZo;eRoDa2Y=dnQ><7?ZRnu2h|5){1&s3fi zyEpFqV(SC)H6U`o3fp&KZ29X%S5?io!aeKm43EGFLTKPS0oxzJe;rV;KRQ(rz9K`= z8c2|VAOk@Lf(!&12r>|4Ajm+Ffgl4x2L5j{z;%FJ_lK|fP*U4-?7 zb%YE=6Gf^k+zEi}9 zH=I)EJj3Iq)YIhulysgq4f8(-t{?Xg+)f3jeS}XCjuLV_*NgV|^n6*{0@cV{wdPj6 zS#Q=_np#?$+FEvq6_^9OfSFK>jxN`A$orFZ4@E_-9B#8BHow-zD z*9==o-0faRZ10Cgx%%XT<`({W4$;#5YCA zK=2x1ZMfR~e6sfqw6o&DUqBoC@sE2E?3yQzn{&`8*UvSuuMgJ?KJOgAh<3brXv#t# zYq2_1zMqX?uMzi%j);oq{ds6$9{7JI@;4u_HBh`i4-d=!tHdSBoBRz2;+w#Z^Yq8> z0=ou&zdQl<`}{`GkAb~540lK0buZG^gyqP*83on7vQ!>)Jce14ZBPNid^^ z**Dm=H)N{p;zAiIKn0xnqp=%Kf0= zcW9W59mHphkez|QUs-R5hL=A{d`A4e*DHK~VcP&Sy!@Am&!}-Ap`ZUG*gt{qWS&2- zQyBU9d7a{)e+>AzMqxg$V;FDHxHw159rJlTVS^2)%zR!KF}?~uulVzS44k;;U_P%i z7h{t%q8w_o7yZ9p?pTEBt_i|#WALetn zKlbqp^ySOQ>v4|vU%zh?-yKGyNWw=+W$^QV4h}qi=0`LY$@qv;-MycW>j*D@LQ|oP zKTxW>=kv#g-$Db|cJ#4zpELOXdH#6T8UFy>Y7d{EL*^R62*PnnThiH%>l(avczj+j zy8pMtg9E|qABA~*9zO;fhA^N1KULU<(L!ud;O?2v_$he2e148862HS`ss{5I!$9`( zwTOz-niTRpm9{j0R|hio#q;NNQxoxd9FE7ayt0nQr*PNBe7wJVh526OYtI`uMjf6Z rC*Ftg9PoVj{<#KhJa;c&YgO7aJP +#include + +int main(void){ + FILE* fichier; + char couleur; + int i,a=5; + fichier = fopen("image","r"); + if(fichier==NULL){ + fputs("Erreur d'ouverture du fichier",stderr); + return EXIT_FAILURE; + }else{ + while(feof(fichier)!=1){ + a = fread(&couleur,1,1,fichier); + if(couleur == 0){ + printf("\n"); + }else{ + printf("\33[48;5;%hhum \33[m",couleur); + } + } + + } + + fclose(fichier); + return EXIT_SUCCESS; +} diff --git a/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO2/image b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO2/image new file mode 100644 index 0000000000000000000000000000000000000000..d2ac982ba70e76f70de813c97693643dbf850893 GIT binary patch literal 1066 zcmb7@OAdoD3`BE-dYffW(mV7JoU}_86%uPCPSTmNO+pqGj8H!CGPV;^>ot{YSgkj~ zPsm2KcqJM3wvDob>_KvCFU$|p!LJ0+v3XtbKt1S8fC)HHvN;Z5B4%0y(3~v-cgb3Y zHccSu$Pp_l&YVExhtDE64I0Sp+xN30NC*o$M=ir!hW2s=5TZQv8;XU8<9yQ(S~~cIBDD60jKW}bf@DGwT1795(qpqMa!d+6k1%TiNGm=)_@YpC9=7iz z6VJ%Ch;dG2{AkQFq}^#CzqrNN@?22095G-z-st@>?d}YGh{wMYqc**JxfJbxbN#yh E0OC4sh5!Hn literal 0 HcmV?d00001 diff --git a/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO2/image(2) b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO2/image(2) new file mode 100644 index 0000000000000000000000000000000000000000..d2ac982ba70e76f70de813c97693643dbf850893 GIT binary patch literal 1066 zcmb7@OAdoD3`BE-dYffW(mV7JoU}_86%uPCPSTmNO+pqGj8H!CGPV;^>ot{YSgkj~ zPsm2KcqJM3wvDob>_KvCFU$|p!LJ0+v3XtbKt1S8fC)HHvN;Z5B4%0y(3~v-cgb3Y zHccSu$Pp_l&YVExhtDE64I0Sp+xN30NC*o$M=ir!hW2s=5TZQv8;XU8<9yQ(S~~cIBDD60jKW}bf@DGwT1795(qpqMa!d+6k1%TiNGm=)_@YpC9=7iz z6VJ%Ch;dG2{AkQFq}^#CzqrNN@?22095G-z-st@>?d}YGh{wMYqc**JxfJbxbN#yh E0OC4sh5!Hn literal 0 HcmV?d00001 diff --git a/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO3/exo3.c b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO3/exo3.c new file mode 100644 index 0000000..ca40af6 --- /dev/null +++ b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /EXO3/exo3.c @@ -0,0 +1,23 @@ +#include +#include +#include +#include + +int main(void){ + int i; + + struct timeval tv1; + struct timeval tv2; + + gettimeofday(&tv1,NULL); + + for(i=0;i<1000000;i++){ + sqrt(2); + } + + gettimeofday(&tv2,NULL); + + printf("%dμs",tv2.tv_usec-tv1.tv_usec); + + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /Lenny/main.c b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /Lenny/main.c new file mode 100644 index 0000000..e69de29 diff --git a/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /Lenny/nom1.c b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET1 /Lenny/nom1.c new file mode 100644 index 0000000..e69de29 diff --git a/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET2/EXO1/Makefile b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET2/EXO1/Makefile new file mode 100644 index 0000000..58c892c --- /dev/null +++ b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET2/EXO1/Makefile @@ -0,0 +1,34 @@ +### VARIABLES ### + +CC = gcc +CFLAGS = -ansi \ + -pedantic +EXE = valeurs_nulles +OFILES = recherche.o \ + main.o + +### BUT PAR DEFAUT ### + +but : ${EXE} + +### REGLES ESSENTIELLES ### + +recherche.o : recherche.c + +main.o : main.c recherche.h + +${EXE} : ${OFILES} + $(CC) $(CFLAGS) -o ${EXE} ${OFILES} + +### REGLES OPTIONNELLES ### + +clean : + -rm -f ${OFILES} + +mrproper : clean but + +### BUTS FACTICES ### + +.PHONY : but clean mrproper + +### FIN ### \ No newline at end of file diff --git a/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET2/EXO1/main.c b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET2/EXO1/main.c new file mode 100644 index 0000000..86feaa8 --- /dev/null +++ b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET2/EXO1/main.c @@ -0,0 +1,15 @@ +#include +#include +#include "recherche.h" + +int main(int argc, char* argv[]){ /* ou char** */ + int i; + double* tab; + tab = (double*) malloc(argc*sizeof(double)); + + for(i=0;i +#include + +int recherche(double tab[], int taille){ + int valeurs_null = 0, i; + + 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 literal 0 HcmV?d00001 diff --git a/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET2/EXO1/valeurs_nulles_ou_pas b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET2/EXO1/valeurs_nulles_ou_pas new file mode 100755 index 0000000000000000000000000000000000000000..2092fe9403f4dd8153e8f3ee862519b14bd39d94 GIT binary patch literal 15592 zcmeHOZEPG@6@9x-8i&MQCyHA)pF?O+g7C(69FsIMS;rn{9628(PMadq$;La5SFCr# zeiSDnZP2EO#j=$01Bz5ckdP1{BoO@(0YdA#O-RKLw?Gx4N?6E|HcHy2kRlf%FXztO zyB<%sr6ANFXr454-aGG}_wL-8oqe-&_bI)zXus80E!JJG2s%`9237 zpIWx~V35;%nCE-H^U%Wa7v!+2t%>-_j`ppISaTwt%#AjW?&xUlXb)#n;Wm3>@~Z_K zT~m7x996;dsz{vZ11ey*mx7}bKRbT$=JBhf@6HKT@&7pWQnuwpZ)ai6QnH^GO zMJKUC?d|W|(`~ke+rrx`^=<9S>>Jo`#;mk;DxS$&>4E*-iB!@Wh@MPX81mFeD#??W zj%igx_>1$6b6aEYsTKh98Srvl=2pjXY1F7L=AM7%Te!S~YCj*V+%M#FdT52yah>l6 z!Yk&rh|@2;w2QkPo<2JPr)uwi>*Dz%VDnQh-o9V5=DLet;u>e##mn4wcf>IwTfVi} zM6HW=U&jqD{y+Jg+k^T$KLUOP{0R6F@FUk0*fe#&lzlGNS!^q#RHO3ZCY*os5 zx|j`?r;PlIwUhQ3uj92Eet1!SDVP}Ba z^7K$>L(jaP{5#*d4qBDlcGSpsz6?uc6mDeejIqu+G|G*au`dncV6H5_i)!HbY)|i;CF$z~pug#UqMnNxK)o18nZtWY> zXV9B328{7lFA-&o=~G5v${15)M`w(|SB>%Ie{}exC1ZT;ir?4`4E03}HDrXIEE!r#|zQpP)K^sEmu2UqUx zf*&uA>9fb_YN}jom8*-!_KP0@KLUOP{0R6F@FUk0*0Y3tM1pEkm6cM2JQk!Dh z6VZf~OJ}rXE|IV@m^iSeW*5DKrFS&7cgp1xKm%w1yWTFBzYcr{_%k3CdY4HhaQ3hY zj5Y+;EMHQ45x)u$Pw((&-zt|sNd`Sj>{nn9q1uk^68H#E)i?CkH|+~8`*Q7hwR`oh zPi=c>Bhh5{1#CaZ+|LuyRp0QnV0YbpdcG$3V@yIE3e9l=TPJ)X`-)xg(Rm}{{o+T! zkANQmKLUOP{0R6F@FUk0*f&Y^TNS>hN1xn5zr!)p$Cu0oACy$3gG36)twkBe$E_wO|XV2P)Tz@V%&1 z%Re3juZfWh={>uqnp9K7MWXr?wrb;i6MO^gH%Cx$mG7XwG8j_wIg_sM5wGf19S>&z zb^-23HZNB5_-j;Ye6K&(z-#knmD+XGRs@@roJZ-nK|Ez6YYxL7Pjwf~YR9!CK=VGR zS|X0U>|e0$>nr~kv47(Mx18<0acBZh$NL!PE!)58zdAB%GeW9gE zmQLRJdy>%2SSDo-N0Tv1Q13ekt5`f~<}#M##xESoO2#n6$xMca<6L>C|Z}ojv2CPUhnH zzePO8RM(!q=4|wovdxF1nPC-_TI>%a_ogwSwqneIO|JT=8G*1fPVS)*jN9 z^@kvR-%;`U@32aZqe3wiy{vx(i)<+KdyoIytlz_SvYrw&TzXn_dG+51M=_D{EB9x< zPs=)!hp~N?I^lEJ+0OPxc=fbCaO(}tu@?M+Ta3D#KcRn*3bF?6 z&j4}qd?5d;^V&;W@XyeMTzYwaxZX^oy>~v*3EqMYT|0c+sH_7k|C6MHL!s-RisE_FP=*H6)VKYyZkqg;FLaSa~u5_i&ln9hOtBlpjx;KX;gzSQQl ZVlokTdYbm*Y&CsO; literal 0 HcmV?d00001 diff --git a/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET2/EXO2/exo2.c b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET2/EXO2/exo2.c new file mode 100644 index 0000000..95b382c --- /dev/null +++ b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET2/EXO2/exo2.c @@ -0,0 +1,41 @@ +#include +#include + +int main(int argc, char* argv[]){ + char donnees_fichier1, donnees_fichier2; + int reponse = 1; + FILE* fichier1 = fopen(argv[1],"r"); + FILE* fichier2 = fopen(argv[2],"r"); + + /* Message d'erreur s'il manque des arguments // s'il y a trop d'arguments */ + if(argc != 3){ + fputs("Erreur : Le nombre d'arguments est incorrect !\n",stderr); + return EXIT_FAILURE; + } + if(fichier1 == NULL){ + fputs("Erreur : Impossible d'accéder au fichier 1\n",stderr); + return EXIT_FAILURE; + } + if(fichier2 == NULL){ + fputs("Erreur : Impossible d'accéder au fichier 2\n",stderr); + return EXIT_FAILURE; + } + while(feof(fichier1)!=1 && feof(fichier1)!=1){ + fread(&donnees_fichier1,1,1,fichier1); + fread(&donnees_fichier2,1,1,fichier2); + if(donnees_fichier1 != donnees_fichier2){ + printf("Fichiers pas identiques !\n"); + reponse = 0; + break; + } + + + } + if(reponse == 1){ + printf("Fichiers identiques !\n"); + } + + fclose(fichier1); + fclose(fichier2); + return EXIT_SUCCESS; +} diff --git a/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET2/EXO2/titi.c b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET2/EXO2/titi.c new file mode 100644 index 0000000..587419b --- /dev/null +++ b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET2/EXO2/titi.c @@ -0,0 +1,5 @@ +#include + +int main(void){ + +} diff --git a/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET2/EXO2/toto.c b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET2/EXO2/toto.c new file mode 100644 index 0000000..1cc7a34 --- /dev/null +++ b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET2/EXO2/toto.c @@ -0,0 +1,5 @@ +#include + +int main(void){ + int a; +} diff --git a/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET2/EXO3/exo3.c b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET2/EXO3/exo3.c new file mode 100644 index 0000000..2868529 --- /dev/null +++ b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET2/EXO3/exo3.c @@ -0,0 +1,21 @@ +#include +#include +#include + +int main(void){ + struct timespec req; + req.tv_sec = 0; + req.tv_nsec = 500000000; /* 0.5 secondes*/ + + fputs("E",stderr); + nanosleep(&req,NULL); + fputs("R",stderr); + nanosleep(&req,NULL); + fputs("R",stderr); + nanosleep(&req,NULL); + fputs("E",stderr); + nanosleep(&req,NULL); + fputs("U",stderr); + nanosleep(&req,NULL); + fputs("R",stderr); +} \ No newline at end of file diff --git a/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET3/EXO MKTIME/mktime.c b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET3/EXO MKTIME/mktime.c new file mode 100644 index 0000000..c887504 --- /dev/null +++ b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET3/EXO MKTIME/mktime.c @@ -0,0 +1,49 @@ +#include +#include +#include + +int main(int argc, char *argv[]) { + if (argc != 2) { + fprintf(stderr, "Usage: %s \n", argv[0]); + return 1; + } + + struct tm date; + time_t timestamp; + + /* Analyse de la date fournie en argument*/ + if (sscanf(argv[1], "%d/%d/%d", &date.tm_mday, &date.tm_mon, &date.tm_year) != 3) { + fprintf(stderr, "Format de date invalide. Utilisez le format dd/mm/aa.\n"); + return 1; + } + + /*La fonction mktime attend une année en nombre d'années depuis 1900*/ + date.tm_year += 100; + /*La fonction mktime attend le mois en nombre de mois depuis janvier*/ + date.tm_mon--; + + /*Initialisation des autres champs de la structure tm*/ + date.tm_hour = 0; + date.tm_min = 0; + date.tm_sec = 0; + date.tm_wday = 0; + date.tm_yday = 0; + date.tm_isdst = -1; /*Indéterminé*/ + + /*Conversion de la structure tm en timestamp*/ + timestamp = mktime(&date); + + if (timestamp == -1) { + fprintf(stderr, "Erreur lors de la conversion de la date en timestamp.\n"); + return 1; + } + + /*Conversion du timestamp en structure tm pour obtenir le jour de la semaine*/ + localtime_r(×tamp, &date); + + /*Affichage du jour de la semaine*/ + const char *jours[] = {"dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"}; + printf("C'est un %s.\n", jours[date.tm_wday]); + + return EXIT_SUCCESS; +} diff --git a/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET3/conversion.c b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET3/conversion.c new file mode 100644 index 0000000..415bddd --- /dev/null +++ b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET3/conversion.c @@ -0,0 +1,25 @@ +#include +#include + +int main(int argc, char *argv[]) { + if (argc != 3) { + fputs("Usage: ./a.out \n",stderr); + return EXIT_FAILURE; + } + + double valeur = atof(argv[1]); + char unite = argv[2][0]; + + if (unite == 'c' || unite == 'C') { + double pouces = valeur / 2.54; + printf("%.2fin\n", pouces); + } else if (unite == 'i' || unite == 'I') { + double centimetres = valeur * 2.54; + printf("%.2fcm\n", centimetres); + } else { + printf("Unité invalide. Utilisez 'cm' ou 'in'.\n"); + return EXIT_FAILURE; + } + + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET3/de.c b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET3/de.c new file mode 100644 index 0000000..7e83aba --- /dev/null +++ b/BUT1/DEV1.1/CM2_2/EntrainementDS2/SUJET3/de.c @@ -0,0 +1,36 @@ +#include +#include + +int main(void) { + int resultat_lancer; + unsigned char valeur_aleatoire; + size_t octet_lu; + /* On ouvre le fichier /dev/random */ + FILE* fichier_random = fopen("/dev/random", "r"); + + /* On vérifie qu'il s'ouvre bien*/ + if (fichier_random == NULL) { + fputs("Erreur lors de l'ouverture de /dev/random", stderr); + return EXIT_FAILURE; + } + + /* On lit un octet depuis /dev/random */ + octet_lu = fread(&valeur_aleatoire, sizeof(valeur_aleatoire), 1, fichier_random); + /*On vérifie l'octet lu */ + if (octet_lu != 1) { + fputs("Erreur lors de la lecture depuis /dev/random", stderr); + fclose(fichier_random); + return EXIT_FAILURE; + } + + /* On ferme le fichier /dev/random */ + fclose(fichier_random); + + /* On calcule le résultat du dé (entre 1 et 6) */ + resultat_lancer = (valeur_aleatoire % 6) + 1; + + /* On affiche le résultat */ + printf("%d\n", resultat_lancer); + + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/DEV1.1/CM2_2/stiti_CM2.tar.gz b/BUT1/DEV1.1/CM2_2/stiti_CM2.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..9ac722b45625b41d5bc6fa37833c4a2fcfa95962 GIT binary patch literal 3808 zcmV<64j=I!iwFP!000001MOUWY#hZEpSyhE93(M?l<=9wNzmEYm)pCu9b!zJIG3Ek z3DmJ^D50D6-JWm7c`w}Ug#Zm7N@?p_QHzQiB%*#um8hy#LZVVp`v(p|2|+~)YX8U| zscO+6IR)C#LKUc*>w7yhd%NSin1Jk5Wq$JA+j;Zeyf-sDb8ly7+`BclhRiaefX?=I zqzN_FfmBu7I~_g)Q4{U)ct?tdQ9y9SiA%JKRSy(x%h(j{}ajn&A~vxP0u5D5KQfA zr0E{UzsEBed&pX{7`|^JHrp6`(p>B*pJZX`>74%cDo?}m8e1ZOv_^DS9T{zK3(gScWp;oM{K7i&Pt}oM0iUKCe3C611{u}!`9hj#8uV6L!fzi(r&7K_9a?qw{}PPD$kty;z?8Y5=OHj0B= zd-Da$7}SUJ1{66mTCkWAjf&P3B-q>YpoN3(hdAFjh4TCI*U$WLA@=@y#w%ZEE<(LK zSw6o%-Engzr6&bGVSJ^>&*$lh_0@LgQw`#E4}YGAf5O9G;NhS2@GtZ5Cq4WI51$Ww zl=a@54IaMtK5q2zFJ_!eNJvOXNJvOXTpa$n^rlZz``>FwjW0O7hLF_L6Lzq2BDMdu zh9gdXrTq56YU_JIEk`f*^vcahw7&Rzzt-Nam5 zRGD15;z^V{!YIh=j(q#qkTjo9jh#&${@eQ0;dAp+fupIn&f8Z*0q;j>0S%SO?9vsR zs`}{PlifGs8fZB_l-l3@20qcG#@?|Pr^dU_N6^KW;d?3#l{vcLL%0k)aHQ(*k!-3d9C~cLx?(E#uU9 z@;%TxaP`wp%Ybw$@G6P~Yh;`lCu2vUnJbI2y2oC|oT&&{qK=%Rj{FFPj~`)`QC`7E zf~lJ;jz3ecV4yyA6-}Le1w;3#1vGW;Sn{+}&FFaYw9oWZ)%3T$reFFGnm!%azwh*- z$KP-Sq3Q>K3)g4y`YC#S4zJ5_?dTmp;<<<2yH-L%LPA19LPA19LPA0WzL#2^fxi%3 zUq7!aOxU~0vz5wDpo2j1-S5^9DiwUnz3v~C%FhUWcj@RqIzR$@8w1y0aaqIn1C)>N z>>EJu78KZYne)nP6?_u#dGYU+N)IxYG;Ut9{LZD9Kiu#nS$|zuOMI2{nh$l+?qSe> z6B!$pG=3}CyLe&nb+AD5zX2Z${5j;yKj`F3NJvOXNJvOXNJvP0QNZ^J@_m7P?;YR1 zeFYa}8xa??*SY8V7{o^7!*nO~>(R&;H`FtPgmfqfVN_fk*p=L#m zN7RU_#G5De=9yZ`ZN=kz@B-5*5mMk!k*2?+fq8@`G1YH(GNTdkgVMnrNHu+qPkAUoX)#xMQ_s zO4~fJVQW%LZ5kljmj1gpZs^zU-n@Bxa!?!Gu(3a>IUCJ;e4E6@-R3=>-Q*YCL2hJp zTPLNmX+t7wS|;0=E)G*~Uz z&KEU63xnn*k#u2n)UZDPDLVYU#krCHuGKpi#UY;iSV`z_9M`XRE{8*0GVKub#q&U` z1bOi+R-d4MXr7-cGw6R6KL3K>Os>!4hzX(oJdP0k*9nawxIT|FI6cYu{9FRp=fC%O z1aO{5pT{kn@;HSs{7TU0zssC17UV_$Un2hTE1nm;T#y&_e<$eIJ0Dk1|G1#PR`JtA zg1mVDU|g_-RO40myj)vt`38ah89qxr`usWJlx#u4Fc}O4KjP-f zfJdL7f0|&Y+`}{2|5(uH@#7TJ7tbV%`oVx-pT}v-qkca{eK#GTJg(2

VXeyg2_X zX7)utxqe3-eJ>S;h=W~B|2r%b=V9-eFFyVkk=oBXQ}oy*84w&6{lBt~{yO$B@#Pux zB`ywl{y%Sy-+F0j(H(s`(v zayvXqz;jI`cSp#_GYekU?Y22;_+*-@cTcV<6oSZKaXH~V1vAsEJQh+EGpmGAH@t1A zzrT5PjB*vFXxQbVrS$i0Ney-ZXP;u^ONKvl(}sb&oV?J!(9AWGxESF0Ps3A=F-v0~ zF~j&*J3Bkv@ecy{|35m~+vWJ53%CP&`tbh@qkm<_fX8No4rhfU>hf_UyKF^u`2)#K zN-h4Dfn;)<%a6JIjr~K(s(iw4SEHrH)J~sW##YprC{L}x9qE_n#^a(qwXP-vdG3^Y zTPQ>)!d%(#PJzHl=L%-pP`Z_(Ze_yFtK(g4ZsZx=N>rE{!EMjP=$BOmS;u9M^qLky z0p{J7HGUm*o6oL}*SJU|xSelR(yhv#t`MY4j_cLAycw1AP^Id$@37Lq!Ukw|v>Z3k z1E>yndJjm1^T>4CwOLv3>A-bvr-`*k1*f7jmP31Rou@l%v<>QE8+cl#Zh=l0ud8-9 zZ8!L$>v-X&x1asq+s{7b`TN06tI27Os>J@C@%a6TwO#F9t23i$4%4H^x0;}lKbQ1D zzxC&-^^n`y$sK)z+V-K|-sJY}U7>w+{%1?0vxb@G|G3)W`TtKU&i{#6OwRvvfeXZX z-jEO{h8D$Hxenum04-q}#b!EOkYU1*iMGORRx0OhxTXTFid7gLE*cuH{_3__u)4TL zi(>1;H069{3q>U?N@Jm2N|=?p8mF(D9hQ0Pt;{%`$(U7ku||o}lJ`~12WvR0(Q>mw z*UG1xgDRSj8ig#1(TUAbyg&MYTP4wDthfq3(%kw!vV2}l)kki_6m1~*$X=a+!A_-` zr&W!OZKpk_&EcLd^0&PT=4gkuH~Vv9Zcc}g6L)hu>9pcBLfGt%cA2-U@a3y=)p?w& z&}2>b@dZm5b6FNo$AomexocXTr_E;)7YCgGx9Sf<7(@Sa(QII*=l_KJ{~u$qXsjKd z|D*A!od4$n&a)qcH1rv;Pz~ZDh0vmrbXsZCt&*vqL4iqHr~`5SdxwrlMiO=xu6kDmL+WBpY_6s9jIkk=|yr_CJE(KIeMnGVzKUh`T=c$l4 zsB}xGRZZs$CBx%-{ZK0;mty}P;D7&t0e%0Ikn{gsV5OP0GDeoJ zZ*7C2t)={{os1_e?TSmfYRxx4FsrOItc;n(#WqiAO3SSO&v}VY2NwUSmoWZ|wkKkI z{Huw0T*iNMh>MQ@@Io(+q+6AAPA|6L^`845XnqWbc%iH`Ioy_}CK%&R^pG!DBZ^fX z#U(bQjNuV(5-sGzj-vWND@JdvYLo>VjyN=QVH5(l8Va##3K?^cX2YXiK3#U+LO?oP zwb$w`i-$Qp0D7ogfanJ*v`(RGRJ4=`@>%g*6e2F$5ao)-s9ckhkdTm&kdTm&kdTm& WkdTm&kdXLa#eV@ymq+3NcmM!^e#_AS literal 0 HcmV?d00001 diff --git a/BUT1/DEV1.1/Caract#U00e8res/extraction.c b/BUT1/DEV1.1/Caract#U00e8res/extraction.c new file mode 100644 index 0000000..9f4ddc4 --- /dev/null +++ b/BUT1/DEV1.1/Caract#U00e8res/extraction.c @@ -0,0 +1,26 @@ +#include +#include + +int main(void) +{ + char dizaineMois; + char uniteMois; + char dizaineAnnee; + char uniteAnnee; + + printf("Saisissez votre numéro de sécurité sociale : "); + getchar(); + + dizaineAnnee = getchar(); + uniteAnnee = getchar(); + dizaineMois = getchar(); + uniteMois = getchar(); + + printf("Vous êtes né en : "); + printf("%c", dizaineMois); + printf("%c", uniteMois); + printf("/"); + printf("%c", dizaineAnnee); + printf("%c\n", uniteAnnee); + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/DEV1.1/Caract#U00e8res/lettres.c b/BUT1/DEV1.1/Caract#U00e8res/lettres.c new file mode 100644 index 0000000..8f11dd2 --- /dev/null +++ b/BUT1/DEV1.1/Caract#U00e8res/lettres.c @@ -0,0 +1,8 @@ +#include +#include + +int main(void) +{ + + printf("%c\n", 65); +} \ No newline at end of file diff --git a/BUT1/DEV1.1/Caract#U00e8res/salut2.c b/BUT1/DEV1.1/Caract#U00e8res/salut2.c new file mode 100644 index 0000000..a055d8f --- /dev/null +++ b/BUT1/DEV1.1/Caract#U00e8res/salut2.c @@ -0,0 +1,11 @@ +/* premier programme */ + +#include +#include + +int main(void) +{ + printf("%c%c%c%c%c %c%c%c%c%c%c\n", '\110', 'E', 'L', 'L', 'O', 'W', 'O', 'R', 'L', 'D', '\x21'); + + return EXIT_SUCCESS; +} diff --git a/BUT1/DEV1.1/Chaines_Caracteres/initiales.c b/BUT1/DEV1.1/Chaines_Caracteres/initiales.c new file mode 100644 index 0000000..f8e3068 --- /dev/null +++ b/BUT1/DEV1.1/Chaines_Caracteres/initiales.c @@ -0,0 +1,17 @@ +#include +#include + +int main(int argc, char *argv[]) +{ + char prenom[30] = {0}; +/*il faut créer une chaine de caractere : Un tableau de char +où chaque char représente un caractere*/ + printf("Quel est votre prenom ?\n"); + scanf("%s", prenom); /*%s signifie chaine de caractere. +De plus il n'y a pas besoin du & pour les chaine de caractere car ce sont des pointeurs*/ + + printf("\n%c\n%c", prenom[0], prenom[1]); +//%c car tu lis un seul caractere + + return 0; +} diff --git a/BUT1/DEV1.1/Chaines_Caracteres/lecture.c b/BUT1/DEV1.1/Chaines_Caracteres/lecture.c new file mode 100644 index 0000000..4c8df5f --- /dev/null +++ b/BUT1/DEV1.1/Chaines_Caracteres/lecture.c @@ -0,0 +1,23 @@ +// NE MARCHE PAS +#include +#include +#include +int main(void) { + char motdepasse[27],vraimdp[7]="hassan",lettremdp,lettrevrai; + int taille=strlen(vraimdp),veracite=0,i; + printf("Mot de passe : "); + for (i=0;i +#include +#include +int main(int argc, char **argv) +{ + int i, j, cara; + for (i = argc - 1; i >= 0; i--) + { + cara = strlen(argv[i]); + for (j = cara; j >= 0; j--) + { + printf("%c", argv[i][j]); + } + printf(" "); + } + return EXIT_SUCCESS; +} diff --git a/BUT1/DEV1.1/Chaines_Caracteres/statistiques.c b/BUT1/DEV1.1/Chaines_Caracteres/statistiques.c new file mode 100644 index 0000000..a97f9f7 --- /dev/null +++ b/BUT1/DEV1.1/Chaines_Caracteres/statistiques.c @@ -0,0 +1,29 @@ +// NE MARCHE PAS +#include +#include +#include +int main(void) { + char phrase[201],cara; + int taille,nbe,nbcara=0,i,iprov,compte=0; + printf("Saisissez une phrase: "); + fgets(phrase,200,stdin); + taille=strlen(phrase); + for (i=0;i=0) { + if (cara==phrase[iprov]) { + compte++; + } + iprov-=1; + } + if (compte==1) { + nbcara++; + } + compte=0; + } + printf("Nombre de e: %d\nNombre de caractere differents: %d",nbe,nbcara-1); + return EXIT_SUCCESS; +} diff --git a/BUT1/DEV1.1/Chaines_Caracteres/truandage.c b/BUT1/DEV1.1/Chaines_Caracteres/truandage.c new file mode 100644 index 0000000..840ab75 --- /dev/null +++ b/BUT1/DEV1.1/Chaines_Caracteres/truandage.c @@ -0,0 +1,7 @@ +#include +#include +int main(void) { + long long int n = 32204074743918434LL; + printf("%s\n",&n); + return EXIT_SUCCESS; +} diff --git a/BUT1/DEV1.1/Commandes/bases.c b/BUT1/DEV1.1/Commandes/bases.c new file mode 100644 index 0000000..c43f461 --- /dev/null +++ b/BUT1/DEV1.1/Commandes/bases.c @@ -0,0 +1,9 @@ +#include +#include + +int main(void) { + printf("%d\n", 72);- + printf("%d\n", 0110); + printf("%d\n", 0x48); + return EXIT_SUCCESS; +} diff --git a/BUT1/DEV1.1/Commandes/intermediaire.i b/BUT1/DEV1.1/Commandes/intermediaire.i new file mode 100644 index 0000000..3fdfb41 --- /dev/null +++ b/BUT1/DEV1.1/Commandes/intermediaire.i @@ -0,0 +1,1854 @@ +# 0 "salut.c" +# 0 "" +# 0 "" +# 1 "/usr/include/stdc-predef.h" 1 3 4 +# 0 "" 2 +# 1 "salut.c" + + +# 1 "/usr/include/stdlib.h" 1 3 4 +# 26 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 33 "/usr/include/bits/libc-header-start.h" 3 4 +# 1 "/usr/include/features.h" 1 3 4 +# 392 "/usr/include/features.h" 3 4 +# 1 "/usr/include/features-time64.h" 1 3 4 +# 20 "/usr/include/features-time64.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 21 "/usr/include/features-time64.h" 2 3 4 +# 1 "/usr/include/bits/timesize.h" 1 3 4 +# 19 "/usr/include/bits/timesize.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/bits/timesize.h" 2 3 4 +# 22 "/usr/include/features-time64.h" 2 3 4 +# 393 "/usr/include/features.h" 2 3 4 +# 490 "/usr/include/features.h" 3 4 +# 1 "/usr/include/sys/cdefs.h" 1 3 4 +# 559 "/usr/include/sys/cdefs.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 560 "/usr/include/sys/cdefs.h" 2 3 4 +# 1 "/usr/include/bits/long-double.h" 1 3 4 +# 561 "/usr/include/sys/cdefs.h" 2 3 4 +# 491 "/usr/include/features.h" 2 3 4 +# 514 "/usr/include/features.h" 3 4 +# 1 "/usr/include/gnu/stubs.h" 1 3 4 +# 10 "/usr/include/gnu/stubs.h" 3 4 +# 1 "/usr/include/gnu/stubs-64.h" 1 3 4 +# 11 "/usr/include/gnu/stubs.h" 2 3 4 +# 515 "/usr/include/features.h" 2 3 4 +# 34 "/usr/include/bits/libc-header-start.h" 2 3 4 +# 27 "/usr/include/stdlib.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/stddef.h" 1 3 4 +# 214 "/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/stddef.h" 3 4 + +# 214 "/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/stddef.h" 3 4 +typedef long unsigned int size_t; +# 329 "/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/stddef.h" 3 4 +typedef int wchar_t; +# 33 "/usr/include/stdlib.h" 2 3 4 + + + + + + + +# 1 "/usr/include/bits/waitflags.h" 1 3 4 +# 41 "/usr/include/stdlib.h" 2 3 4 +# 1 "/usr/include/bits/waitstatus.h" 1 3 4 +# 42 "/usr/include/stdlib.h" 2 3 4 +# 56 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/bits/floatn.h" 1 3 4 +# 119 "/usr/include/bits/floatn.h" 3 4 +# 1 "/usr/include/bits/floatn-common.h" 1 3 4 +# 24 "/usr/include/bits/floatn-common.h" 3 4 +# 1 "/usr/include/bits/long-double.h" 1 3 4 +# 25 "/usr/include/bits/floatn-common.h" 2 3 4 +# 120 "/usr/include/bits/floatn.h" 2 3 4 +# 57 "/usr/include/stdlib.h" 2 3 4 + + +typedef struct + { + int quot; + int rem; + } div_t; + + + +typedef struct + { + long int quot; + long int rem; + } ldiv_t; + + + + + +__extension__ typedef struct + { + long long int quot; + long long int rem; + } lldiv_t; +# 98 "/usr/include/stdlib.h" 3 4 +extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__ , __leaf__)) ; + + + +extern double atof (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + +extern int atoi (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + +extern long int atol (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + + + +__extension__ extern long long int atoll (const char *__nptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + + + +extern double strtod (const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern float strtof (const char *__restrict __nptr, + char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern long double strtold (const char *__restrict __nptr, + char **__restrict __endptr) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 177 "/usr/include/stdlib.h" 3 4 +extern long int strtol (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +extern unsigned long int strtoul (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +__extension__ +extern long long int strtoq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtouq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + +__extension__ +extern long long int strtoll (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtoull (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 386 "/usr/include/stdlib.h" 3 4 +extern char *l64a (long int __n) __attribute__ ((__nothrow__ , __leaf__)) ; + + +extern long int a64l (const char *__s) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + + + + +# 1 "/usr/include/sys/types.h" 1 3 4 +# 27 "/usr/include/sys/types.h" 3 4 + + +# 1 "/usr/include/bits/types.h" 1 3 4 +# 27 "/usr/include/bits/types.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 28 "/usr/include/bits/types.h" 2 3 4 +# 1 "/usr/include/bits/timesize.h" 1 3 4 +# 19 "/usr/include/bits/timesize.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 20 "/usr/include/bits/timesize.h" 2 3 4 +# 29 "/usr/include/bits/types.h" 2 3 4 + + +typedef unsigned char __u_char; +typedef unsigned short int __u_short; +typedef unsigned int __u_int; +typedef unsigned long int __u_long; + + +typedef signed char __int8_t; +typedef unsigned char __uint8_t; +typedef signed short int __int16_t; +typedef unsigned short int __uint16_t; +typedef signed int __int32_t; +typedef unsigned int __uint32_t; + +typedef signed long int __int64_t; +typedef unsigned long int __uint64_t; + + + + + + +typedef __int8_t __int_least8_t; +typedef __uint8_t __uint_least8_t; +typedef __int16_t __int_least16_t; +typedef __uint16_t __uint_least16_t; +typedef __int32_t __int_least32_t; +typedef __uint32_t __uint_least32_t; +typedef __int64_t __int_least64_t; +typedef __uint64_t __uint_least64_t; + + + +typedef long int __quad_t; +typedef unsigned long int __u_quad_t; + + + + + + + +typedef long int __intmax_t; +typedef unsigned long int __uintmax_t; +# 141 "/usr/include/bits/types.h" 3 4 +# 1 "/usr/include/bits/typesizes.h" 1 3 4 +# 142 "/usr/include/bits/types.h" 2 3 4 +# 1 "/usr/include/bits/time64.h" 1 3 4 +# 143 "/usr/include/bits/types.h" 2 3 4 + + +typedef unsigned long int __dev_t; +typedef unsigned int __uid_t; +typedef unsigned int __gid_t; +typedef unsigned long int __ino_t; +typedef unsigned long int __ino64_t; +typedef unsigned int __mode_t; +typedef unsigned long int __nlink_t; +typedef long int __off_t; +typedef long int __off64_t; +typedef int __pid_t; +typedef struct { int __val[2]; } __fsid_t; +typedef long int __clock_t; +typedef unsigned long int __rlim_t; +typedef unsigned long int __rlim64_t; +typedef unsigned int __id_t; +typedef long int __time_t; +typedef unsigned int __useconds_t; +typedef long int __suseconds_t; +typedef long int __suseconds64_t; + +typedef int __daddr_t; +typedef int __key_t; + + +typedef int __clockid_t; + + +typedef void * __timer_t; + + +typedef long int __blksize_t; + + + + +typedef long int __blkcnt_t; +typedef long int __blkcnt64_t; + + +typedef unsigned long int __fsblkcnt_t; +typedef unsigned long int __fsblkcnt64_t; + + +typedef unsigned long int __fsfilcnt_t; +typedef unsigned long int __fsfilcnt64_t; + + +typedef long int __fsword_t; + +typedef long int __ssize_t; + + +typedef long int __syscall_slong_t; + +typedef unsigned long int __syscall_ulong_t; + + + +typedef __off64_t __loff_t; +typedef char *__caddr_t; + + +typedef long int __intptr_t; + + +typedef unsigned int __socklen_t; + + + + +typedef int __sig_atomic_t; +# 30 "/usr/include/sys/types.h" 2 3 4 + + + +typedef __u_char u_char; +typedef __u_short u_short; +typedef __u_int u_int; +typedef __u_long u_long; +typedef __quad_t quad_t; +typedef __u_quad_t u_quad_t; +typedef __fsid_t fsid_t; + + +typedef __loff_t loff_t; + + + + +typedef __ino_t ino_t; +# 59 "/usr/include/sys/types.h" 3 4 +typedef __dev_t dev_t; + + + + +typedef __gid_t gid_t; + + + + +typedef __mode_t mode_t; + + + + +typedef __nlink_t nlink_t; + + + + +typedef __uid_t uid_t; + + + + + +typedef __off_t off_t; +# 97 "/usr/include/sys/types.h" 3 4 +typedef __pid_t pid_t; + + + + + +typedef __id_t id_t; + + + + +typedef __ssize_t ssize_t; + + + + + +typedef __daddr_t daddr_t; +typedef __caddr_t caddr_t; + + + + + +typedef __key_t key_t; + + + + +# 1 "/usr/include/bits/types/clock_t.h" 1 3 4 + + + + + + +typedef __clock_t clock_t; +# 127 "/usr/include/sys/types.h" 2 3 4 + +# 1 "/usr/include/bits/types/clockid_t.h" 1 3 4 + + + + + + +typedef __clockid_t clockid_t; +# 129 "/usr/include/sys/types.h" 2 3 4 +# 1 "/usr/include/bits/types/time_t.h" 1 3 4 +# 10 "/usr/include/bits/types/time_t.h" 3 4 +typedef __time_t time_t; +# 130 "/usr/include/sys/types.h" 2 3 4 +# 1 "/usr/include/bits/types/timer_t.h" 1 3 4 + + + + + + +typedef __timer_t timer_t; +# 131 "/usr/include/sys/types.h" 2 3 4 +# 144 "/usr/include/sys/types.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/stddef.h" 1 3 4 +# 145 "/usr/include/sys/types.h" 2 3 4 + + + +typedef unsigned long int ulong; +typedef unsigned short int ushort; +typedef unsigned int uint; + + + + +# 1 "/usr/include/bits/stdint-intn.h" 1 3 4 +# 24 "/usr/include/bits/stdint-intn.h" 3 4 +typedef __int8_t int8_t; +typedef __int16_t int16_t; +typedef __int32_t int32_t; +typedef __int64_t int64_t; +# 156 "/usr/include/sys/types.h" 2 3 4 + + +typedef __uint8_t u_int8_t; +typedef __uint16_t u_int16_t; +typedef __uint32_t u_int32_t; +typedef __uint64_t u_int64_t; + + +typedef int register_t __attribute__ ((__mode__ (__word__))); +# 176 "/usr/include/sys/types.h" 3 4 +# 1 "/usr/include/endian.h" 1 3 4 +# 24 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/bits/endian.h" 1 3 4 +# 35 "/usr/include/bits/endian.h" 3 4 +# 1 "/usr/include/bits/endianness.h" 1 3 4 +# 36 "/usr/include/bits/endian.h" 2 3 4 +# 25 "/usr/include/endian.h" 2 3 4 +# 35 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/bits/byteswap.h" 1 3 4 +# 33 "/usr/include/bits/byteswap.h" 3 4 +static __inline __uint16_t +__bswap_16 (__uint16_t __bsx) +{ + + return __builtin_bswap16 (__bsx); + + + +} + + + + + + +static __inline __uint32_t +__bswap_32 (__uint32_t __bsx) +{ + + return __builtin_bswap32 (__bsx); + + + +} +# 69 "/usr/include/bits/byteswap.h" 3 4 +__extension__ static __inline __uint64_t +__bswap_64 (__uint64_t __bsx) +{ + + return __builtin_bswap64 (__bsx); + + + +} +# 36 "/usr/include/endian.h" 2 3 4 +# 1 "/usr/include/bits/uintn-identity.h" 1 3 4 +# 32 "/usr/include/bits/uintn-identity.h" 3 4 +static __inline __uint16_t +__uint16_identity (__uint16_t __x) +{ + return __x; +} + +static __inline __uint32_t +__uint32_identity (__uint32_t __x) +{ + return __x; +} + +static __inline __uint64_t +__uint64_identity (__uint64_t __x) +{ + return __x; +} +# 37 "/usr/include/endian.h" 2 3 4 +# 177 "/usr/include/sys/types.h" 2 3 4 + + +# 1 "/usr/include/sys/select.h" 1 3 4 +# 30 "/usr/include/sys/select.h" 3 4 +# 1 "/usr/include/bits/select.h" 1 3 4 +# 31 "/usr/include/sys/select.h" 2 3 4 + + +# 1 "/usr/include/bits/types/sigset_t.h" 1 3 4 + + + +# 1 "/usr/include/bits/types/__sigset_t.h" 1 3 4 + + + + +typedef struct +{ + unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; +} __sigset_t; +# 5 "/usr/include/bits/types/sigset_t.h" 2 3 4 + + +typedef __sigset_t sigset_t; +# 34 "/usr/include/sys/select.h" 2 3 4 + + + +# 1 "/usr/include/bits/types/struct_timeval.h" 1 3 4 + + + + + + + +struct timeval +{ + + + + + __time_t tv_sec; + __suseconds_t tv_usec; + +}; +# 38 "/usr/include/sys/select.h" 2 3 4 + +# 1 "/usr/include/bits/types/struct_timespec.h" 1 3 4 +# 11 "/usr/include/bits/types/struct_timespec.h" 3 4 +struct timespec +{ + + + + __time_t tv_sec; + + + + + __syscall_slong_t tv_nsec; +# 31 "/usr/include/bits/types/struct_timespec.h" 3 4 +}; +# 40 "/usr/include/sys/select.h" 2 3 4 + + + +typedef __suseconds_t suseconds_t; + + + + + +typedef long int __fd_mask; +# 59 "/usr/include/sys/select.h" 3 4 +typedef struct + { + + + + + + + __fd_mask __fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; + + + } fd_set; + + + + + + +typedef __fd_mask fd_mask; +# 91 "/usr/include/sys/select.h" 3 4 + +# 102 "/usr/include/sys/select.h" 3 4 +extern int select (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + struct timeval *__restrict __timeout); +# 127 "/usr/include/sys/select.h" 3 4 +extern int pselect (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + const struct timespec *__restrict __timeout, + const __sigset_t *__restrict __sigmask); +# 153 "/usr/include/sys/select.h" 3 4 + +# 180 "/usr/include/sys/types.h" 2 3 4 + + + + + +typedef __blksize_t blksize_t; + + + + + + +typedef __blkcnt_t blkcnt_t; + + + +typedef __fsblkcnt_t fsblkcnt_t; + + + +typedef __fsfilcnt_t fsfilcnt_t; +# 227 "/usr/include/sys/types.h" 3 4 +# 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 +# 23 "/usr/include/bits/pthreadtypes.h" 3 4 +# 1 "/usr/include/bits/thread-shared-types.h" 1 3 4 +# 44 "/usr/include/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/bits/pthreadtypes-arch.h" 1 3 4 +# 21 "/usr/include/bits/pthreadtypes-arch.h" 3 4 +# 1 "/usr/include/bits/wordsize.h" 1 3 4 +# 22 "/usr/include/bits/pthreadtypes-arch.h" 2 3 4 +# 45 "/usr/include/bits/thread-shared-types.h" 2 3 4 + +# 1 "/usr/include/bits/atomic_wide_counter.h" 1 3 4 +# 25 "/usr/include/bits/atomic_wide_counter.h" 3 4 +typedef union +{ + __extension__ unsigned long long int __value64; + struct + { + unsigned int __low; + unsigned int __high; + } __value32; +} __atomic_wide_counter; +# 47 "/usr/include/bits/thread-shared-types.h" 2 3 4 + + + + +typedef struct __pthread_internal_list +{ + struct __pthread_internal_list *__prev; + struct __pthread_internal_list *__next; +} __pthread_list_t; + +typedef struct __pthread_internal_slist +{ + struct __pthread_internal_slist *__next; +} __pthread_slist_t; +# 76 "/usr/include/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/bits/struct_mutex.h" 1 3 4 +# 22 "/usr/include/bits/struct_mutex.h" 3 4 +struct __pthread_mutex_s +{ + int __lock; + unsigned int __count; + int __owner; + + unsigned int __nusers; + + + + int __kind; + + short __spins; + short __elision; + __pthread_list_t __list; +# 53 "/usr/include/bits/struct_mutex.h" 3 4 +}; +# 77 "/usr/include/bits/thread-shared-types.h" 2 3 4 +# 89 "/usr/include/bits/thread-shared-types.h" 3 4 +# 1 "/usr/include/bits/struct_rwlock.h" 1 3 4 +# 23 "/usr/include/bits/struct_rwlock.h" 3 4 +struct __pthread_rwlock_arch_t +{ + unsigned int __readers; + unsigned int __writers; + unsigned int __wrphase_futex; + unsigned int __writers_futex; + unsigned int __pad3; + unsigned int __pad4; + + int __cur_writer; + int __shared; + signed char __rwelision; + + + + + unsigned char __pad1[7]; + + + unsigned long int __pad2; + + + unsigned int __flags; +# 55 "/usr/include/bits/struct_rwlock.h" 3 4 +}; +# 90 "/usr/include/bits/thread-shared-types.h" 2 3 4 + + + + +struct __pthread_cond_s +{ + __atomic_wide_counter __wseq; + __atomic_wide_counter __g1_start; + unsigned int __g_refs[2] ; + unsigned int __g_size[2]; + unsigned int __g1_orig_size; + unsigned int __wrefs; + unsigned int __g_signals[2]; +}; + +typedef unsigned int __tss_t; +typedef unsigned long int __thrd_t; + +typedef struct +{ + int __data ; +} __once_flag; +# 24 "/usr/include/bits/pthreadtypes.h" 2 3 4 + + + +typedef unsigned long int pthread_t; + + + + +typedef union +{ + char __size[4]; + int __align; +} pthread_mutexattr_t; + + + + +typedef union +{ + char __size[4]; + int __align; +} pthread_condattr_t; + + + +typedef unsigned int pthread_key_t; + + + +typedef int pthread_once_t; + + +union pthread_attr_t +{ + char __size[56]; + long int __align; +}; + +typedef union pthread_attr_t pthread_attr_t; + + + + +typedef union +{ + struct __pthread_mutex_s __data; + char __size[40]; + long int __align; +} pthread_mutex_t; + + +typedef union +{ + struct __pthread_cond_s __data; + char __size[48]; + __extension__ long long int __align; +} pthread_cond_t; + + + + + +typedef union +{ + struct __pthread_rwlock_arch_t __data; + char __size[56]; + long int __align; +} pthread_rwlock_t; + +typedef union +{ + char __size[8]; + long int __align; +} pthread_rwlockattr_t; + + + + + +typedef volatile int pthread_spinlock_t; + + + + +typedef union +{ + char __size[32]; + long int __align; +} pthread_barrier_t; + +typedef union +{ + char __size[4]; + int __align; +} pthread_barrierattr_t; +# 228 "/usr/include/sys/types.h" 2 3 4 + + + +# 396 "/usr/include/stdlib.h" 2 3 4 + + + + + + +extern long int random (void) __attribute__ ((__nothrow__ , __leaf__)); + + +extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); + + + + + +extern char *initstate (unsigned int __seed, char *__statebuf, + size_t __statelen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + + +extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +struct random_data + { + int32_t *fptr; + int32_t *rptr; + int32_t *state; + int rand_type; + int rand_deg; + int rand_sep; + int32_t *end_ptr; + }; + +extern int random_r (struct random_data *__restrict __buf, + int32_t *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int srandom_r (unsigned int __seed, struct random_data *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + +extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, + size_t __statelen, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))); + +extern int setstate_r (char *__restrict __statebuf, + struct random_data *__restrict __buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + + + + +extern int rand (void) __attribute__ ((__nothrow__ , __leaf__)); + +extern void srand (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern double drand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern long int lrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern long int nrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern long int mrand48 (void) __attribute__ ((__nothrow__ , __leaf__)); +extern long int jrand48 (unsigned short int __xsubi[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + +extern void srand48 (long int __seedval) __attribute__ ((__nothrow__ , __leaf__)); +extern unsigned short int *seed48 (unsigned short int __seed16v[3]) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +struct drand48_data + { + unsigned short int __x[3]; + unsigned short int __old_x[3]; + unsigned short int __c; + unsigned short int __init; + __extension__ unsigned long long int __a; + + }; + + +extern int drand48_r (struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int erand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int lrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int nrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int mrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); +extern int jrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern int srand48_r (long int __seedval, struct drand48_data *__buffer) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + +extern int seed48_r (unsigned short int __seed16v[3], + struct drand48_data *__buffer) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int lcong48_r (unsigned short int __param[7], + struct drand48_data *__buffer) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))); + + +extern __uint32_t arc4random (void) + __attribute__ ((__nothrow__ , __leaf__)) ; + + +extern void arc4random_buf (void *__buf, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + +extern __uint32_t arc4random_uniform (__uint32_t __upper_bound) + __attribute__ ((__nothrow__ , __leaf__)) ; + + + + +extern void *malloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) ; + +extern void *calloc (size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1, 2))) ; + + + + + + +extern void *realloc (void *__ptr, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2))); + + +extern void free (void *__ptr) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__)) + __attribute__ ((__alloc_size__ (2, 3))) + __attribute__ ((__malloc__ (__builtin_free, 1))); + + +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__ (reallocarray, 1))); + + + +# 1 "/usr/include/alloca.h" 1 3 4 +# 24 "/usr/include/alloca.h" 3 4 +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/stddef.h" 1 3 4 +# 25 "/usr/include/alloca.h" 2 3 4 + + + + + + + +extern void *alloca (size_t __size) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + +# 588 "/usr/include/stdlib.h" 2 3 4 + + + + + +extern void *valloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) + __attribute__ ((__alloc_size__ (1))) ; + + + + +extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; + + + + +extern void *aligned_alloc (size_t __alignment, size_t __size) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1))) + __attribute__ ((__alloc_size__ (2))) ; + + + +extern void abort (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + +extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern int at_quick_exit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern void exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + + +extern void quick_exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + + +extern void _Exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__)); + + + + +extern char *getenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; +# 667 "/usr/include/stdlib.h" 3 4 +extern int putenv (char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + +extern int setenv (const char *__name, const char *__value, int __replace) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))); + + +extern int unsetenv (const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); + + + + + + +extern int clearenv (void) __attribute__ ((__nothrow__ , __leaf__)); +# 695 "/usr/include/stdlib.h" 3 4 +extern char *mktemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 708 "/usr/include/stdlib.h" 3 4 +extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; +# 730 "/usr/include/stdlib.h" 3 4 +extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ; +# 751 "/usr/include/stdlib.h" 3 4 +extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; +# 804 "/usr/include/stdlib.h" 3 4 +extern int system (const char *__command) ; +# 821 "/usr/include/stdlib.h" 3 4 +extern char *realpath (const char *__restrict __name, + char *__restrict __resolved) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + + + +typedef int (*__compar_fn_t) (const void *, const void *); +# 841 "/usr/include/stdlib.h" 3 4 +extern void *bsearch (const void *__key, const void *__base, + size_t __nmemb, size_t __size, __compar_fn_t __compar) + __attribute__ ((__nonnull__ (1, 2, 5))) ; + + + + + + + +extern void qsort (void *__base, size_t __nmemb, size_t __size, + __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); +# 861 "/usr/include/stdlib.h" 3 4 +extern int abs (int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; +extern long int labs (long int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; + + +__extension__ extern long long int llabs (long long int __x) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; + + + + + + +extern div_t div (int __numer, int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; +extern ldiv_t ldiv (long int __numer, long int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; + + +__extension__ extern lldiv_t lldiv (long long int __numer, + long long int __denom) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) ; +# 893 "/usr/include/stdlib.h" 3 4 +extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; + + + + +extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; + + + + +extern char *gcvt (double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) ; + + + + +extern char *qecvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; +extern char *qfcvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) ; +extern char *qgcvt (long double __value, int __ndigit, char *__buf) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) ; + + + + +extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); +extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); + +extern int qecvt_r (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign, + char *__restrict __buf, size_t __len) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); +extern int qfcvt_r (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign, + char *__restrict __buf, size_t __len) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5))); + + + + + +extern int mblen (const char *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int mbtowc (wchar_t *__restrict __pwc, + const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + +extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern size_t mbstowcs (wchar_t *__restrict __pwcs, + const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__read_only__, 2))); + +extern size_t wcstombs (char *__restrict __s, + const wchar_t *__restrict __pwcs, size_t __n) + __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1, 3))) + __attribute__ ((__access__ (__read_only__, 2))); + + + + + + +extern int rpmatch (const char *__response) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) ; +# 980 "/usr/include/stdlib.h" 3 4 +extern int getsubopt (char **__restrict __optionp, + char *const *__restrict __tokens, + char **__restrict __valuep) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3))) ; +# 1026 "/usr/include/stdlib.h" 3 4 +extern int getloadavg (double __loadavg[], int __nelem) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))); +# 1036 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/bits/stdlib-float.h" 1 3 4 +# 1037 "/usr/include/stdlib.h" 2 3 4 +# 1048 "/usr/include/stdlib.h" 3 4 + +# 4 "salut.c" 2 +# 1 "/usr/include/stdio.h" 1 3 4 +# 27 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/bits/libc-header-start.h" 1 3 4 +# 28 "/usr/include/stdio.h" 2 3 4 + + + + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/stddef.h" 1 3 4 +# 34 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/stdarg.h" 1 3 4 +# 40 "/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include/stdarg.h" 3 4 +typedef __builtin_va_list __gnuc_va_list; +# 37 "/usr/include/stdio.h" 2 3 4 + + +# 1 "/usr/include/bits/types/__fpos_t.h" 1 3 4 + + + + +# 1 "/usr/include/bits/types/__mbstate_t.h" 1 3 4 +# 13 "/usr/include/bits/types/__mbstate_t.h" 3 4 +typedef struct +{ + int __count; + union + { + unsigned int __wch; + char __wchb[4]; + } __value; +} __mbstate_t; +# 6 "/usr/include/bits/types/__fpos_t.h" 2 3 4 + + + + +typedef struct _G_fpos_t +{ + __off_t __pos; + __mbstate_t __state; +} __fpos_t; +# 40 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/__fpos64_t.h" 1 3 4 +# 10 "/usr/include/bits/types/__fpos64_t.h" 3 4 +typedef struct _G_fpos64_t +{ + __off64_t __pos; + __mbstate_t __state; +} __fpos64_t; +# 41 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/__FILE.h" 1 3 4 + + + +struct _IO_FILE; +typedef struct _IO_FILE __FILE; +# 42 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/FILE.h" 1 3 4 + + + +struct _IO_FILE; + + +typedef struct _IO_FILE FILE; +# 43 "/usr/include/stdio.h" 2 3 4 +# 1 "/usr/include/bits/types/struct_FILE.h" 1 3 4 +# 35 "/usr/include/bits/types/struct_FILE.h" 3 4 +struct _IO_FILE; +struct _IO_marker; +struct _IO_codecvt; +struct _IO_wide_data; + + + + +typedef void _IO_lock_t; + + + + + +struct _IO_FILE +{ + int _flags; + + + char *_IO_read_ptr; + char *_IO_read_end; + char *_IO_read_base; + char *_IO_write_base; + char *_IO_write_ptr; + char *_IO_write_end; + char *_IO_buf_base; + char *_IO_buf_end; + + + char *_IO_save_base; + char *_IO_backup_base; + char *_IO_save_end; + + struct _IO_marker *_markers; + + struct _IO_FILE *_chain; + + int _fileno; + int _flags2; + __off_t _old_offset; + + + unsigned short _cur_column; + signed char _vtable_offset; + char _shortbuf[1]; + + _IO_lock_t *_lock; + + + + + + + + __off64_t _offset; + + struct _IO_codecvt *_codecvt; + struct _IO_wide_data *_wide_data; + struct _IO_FILE *_freeres_list; + void *_freeres_buf; + size_t __pad5; + int _mode; + + char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; +}; +# 44 "/usr/include/stdio.h" 2 3 4 +# 52 "/usr/include/stdio.h" 3 4 +typedef __gnuc_va_list va_list; +# 84 "/usr/include/stdio.h" 3 4 +typedef __fpos_t fpos_t; +# 133 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/bits/stdio_lim.h" 1 3 4 +# 134 "/usr/include/stdio.h" 2 3 4 +# 143 "/usr/include/stdio.h" 3 4 +extern FILE *stdin; +extern FILE *stdout; +extern FILE *stderr; + + + + + + +extern int remove (const char *__filename) __attribute__ ((__nothrow__ , __leaf__)); + +extern int rename (const char *__old, const char *__new) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int renameat (int __oldfd, const char *__old, int __newfd, + const char *__new) __attribute__ ((__nothrow__ , __leaf__)); +# 178 "/usr/include/stdio.h" 3 4 +extern int fclose (FILE *__stream); +# 188 "/usr/include/stdio.h" 3 4 +extern FILE *tmpfile (void) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; +# 205 "/usr/include/stdio.h" 3 4 +extern char *tmpnam (char[20]) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + +extern char *tmpnam_r (char __s[20]) __attribute__ ((__nothrow__ , __leaf__)) ; +# 222 "/usr/include/stdio.h" 3 4 +extern char *tempnam (const char *__dir, const char *__pfx) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (__builtin_free, 1))); + + + + + + +extern int fflush (FILE *__stream); +# 239 "/usr/include/stdio.h" 3 4 +extern int fflush_unlocked (FILE *__stream); +# 258 "/usr/include/stdio.h" 3 4 +extern FILE *fopen (const char *__restrict __filename, + const char *__restrict __modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; + + + + +extern FILE *freopen (const char *__restrict __filename, + const char *__restrict __modes, + FILE *__restrict __stream) ; +# 293 "/usr/include/stdio.h" 3 4 +extern FILE *fdopen (int __fd, const char *__modes) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; +# 308 "/usr/include/stdio.h" 3 4 +extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; + + + + +extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; +# 328 "/usr/include/stdio.h" 3 4 +extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, + int __modes, size_t __n) __attribute__ ((__nothrow__ , __leaf__)); + + + + +extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, + size_t __size) __attribute__ ((__nothrow__ , __leaf__)); + + +extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); + + + + + + + +extern int fprintf (FILE *__restrict __stream, + const char *__restrict __format, ...); + + + + +extern int printf (const char *__restrict __format, ...); + +extern int sprintf (char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__)); + + + + + +extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg); + + + + +extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); + +extern int vsprintf (char *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __attribute__ ((__nothrow__)); + + + +extern int snprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, ...) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); + +extern int vsnprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); +# 403 "/usr/include/stdio.h" 3 4 +extern int vdprintf (int __fd, const char *__restrict __fmt, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__printf__, 2, 0))); +extern int dprintf (int __fd, const char *__restrict __fmt, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); + + + + + + + +extern int fscanf (FILE *__restrict __stream, + const char *__restrict __format, ...) ; + + + + +extern int scanf (const char *__restrict __format, ...) ; + +extern int sscanf (const char *__restrict __s, + const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__)); +# 434 "/usr/include/stdio.h" 3 4 +extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf") + + ; +extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf") + ; +extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) __asm__ ("" "__isoc99_sscanf") __attribute__ ((__nothrow__ , __leaf__)) + + ; +# 459 "/usr/include/stdio.h" 3 4 +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 2, 0))) ; + + + + + +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 1, 0))) ; + + +extern int vsscanf (const char *__restrict __s, + const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__scanf__, 2, 0))); + + + + + +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf") + + + + __attribute__ ((__format__ (__scanf__, 2, 0))) ; +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf") + + __attribute__ ((__format__ (__scanf__, 1, 0))) ; +extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vsscanf") __attribute__ ((__nothrow__ , __leaf__)) + + + + __attribute__ ((__format__ (__scanf__, 2, 0))); +# 513 "/usr/include/stdio.h" 3 4 +extern int fgetc (FILE *__stream); +extern int getc (FILE *__stream); + + + + + +extern int getchar (void); + + + + + + +extern int getc_unlocked (FILE *__stream); +extern int getchar_unlocked (void); +# 538 "/usr/include/stdio.h" 3 4 +extern int fgetc_unlocked (FILE *__stream); +# 549 "/usr/include/stdio.h" 3 4 +extern int fputc (int __c, FILE *__stream); +extern int putc (int __c, FILE *__stream); + + + + + +extern int putchar (int __c); +# 565 "/usr/include/stdio.h" 3 4 +extern int fputc_unlocked (int __c, FILE *__stream); + + + + + + + +extern int putc_unlocked (int __c, FILE *__stream); +extern int putchar_unlocked (int __c); + + + + + + +extern int getw (FILE *__stream); + + +extern int putw (int __w, FILE *__stream); + + + + + + + +extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) + __attribute__ ((__access__ (__write_only__, 1, 2))); +# 632 "/usr/include/stdio.h" 3 4 +extern __ssize_t __getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) ; +extern __ssize_t getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) ; + + + + + + + +extern __ssize_t getline (char **__restrict __lineptr, + size_t *__restrict __n, + FILE *__restrict __stream) ; + + + + + + + +extern int fputs (const char *__restrict __s, FILE *__restrict __stream); + + + + + +extern int puts (const char *__s); + + + + + + +extern int ungetc (int __c, FILE *__stream); + + + + + + +extern size_t fread (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) ; + + + + +extern size_t fwrite (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __s); +# 702 "/usr/include/stdio.h" 3 4 +extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) ; +extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream); + + + + + + + +extern int fseek (FILE *__stream, long int __off, int __whence); + + + + +extern long int ftell (FILE *__stream) ; + + + + +extern void rewind (FILE *__stream); +# 736 "/usr/include/stdio.h" 3 4 +extern int fseeko (FILE *__stream, __off_t __off, int __whence); + + + + +extern __off_t ftello (FILE *__stream) ; +# 760 "/usr/include/stdio.h" 3 4 +extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); + + + + +extern int fsetpos (FILE *__stream, const fpos_t *__pos); +# 786 "/usr/include/stdio.h" 3 4 +extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); + +extern int feof (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + +extern int ferror (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + + +extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); +extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; +extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + + + + +extern void perror (const char *__s); + + + + +extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + + + +extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; +# 823 "/usr/include/stdio.h" 3 4 +extern int pclose (FILE *__stream); + + + + + +extern FILE *popen (const char *__command, const char *__modes) + __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (pclose, 1))) ; + + + + + + +extern char *ctermid (char *__s) __attribute__ ((__nothrow__ , __leaf__)) + __attribute__ ((__access__ (__write_only__, 1))); +# 867 "/usr/include/stdio.h" 3 4 +extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); + + + +extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ; + + +extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)); +# 885 "/usr/include/stdio.h" 3 4 +extern int __uflow (FILE *); +extern int __overflow (FILE *, int); +# 909 "/usr/include/stdio.h" 3 4 + +# 5 "salut.c" 2 + + +# 6 "salut.c" +int main(void) { + printf("Hello World!\n"); + return +# 8 "salut.c" 3 4 + 0 +# 8 "salut.c" + ; +} diff --git a/BUT1/DEV1.1/Commandes/salut.c b/BUT1/DEV1.1/Commandes/salut.c new file mode 100644 index 0000000..0d8c4f4 --- /dev/null +++ b/BUT1/DEV1.1/Commandes/salut.c @@ -0,0 +1,10 @@ +/* premier programme */ + +#include +#include + +int main(void) { + printf("Hello World!\n"); + return EXIT_SUCCESS; +} + diff --git a/BUT1/DEV1.1/Conditions/billevesees.c b/BUT1/DEV1.1/Conditions/billevesees.c new file mode 100644 index 0000000..caa775b --- /dev/null +++ b/BUT1/DEV1.1/Conditions/billevesees.c @@ -0,0 +1,32 @@ + +#include +#include + +int main(void) +{ + int x = 3; + + if (x == 2) + { + printf("x vaut 2\n"); + } + else + { + printf("x est different de 2\n"); + } + + printf("%d\n", x); + + if (x == 0) + { + printf("x vaut 0\n"); + } + else + { + printf("x est different de 0\n"); + } + + printf("%d\n", x); + + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/DEV1.1/Conditions/bissextile1.c b/BUT1/DEV1.1/Conditions/bissextile1.c new file mode 100644 index 0000000..9ab2974 --- /dev/null +++ b/BUT1/DEV1.1/Conditions/bissextile1.c @@ -0,0 +1,31 @@ +#include +#include +int main(void) +{ + int annee; + printf("Saisissez votre année : "); + scanf("%d", &annee); + if (annee % 4 == 0) + { + if (annee % 100 == 0) + { + if (annee % 400 == 0) + { + printf("L'année est bissextile\n"); + } + else + { + printf("L'année est normale\n"); + } + } + else + { + printf("L'année est bissextile\n"); + } + } + else + { + printf("L'année est normale\n"); + } + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/DEV1.1/Conditions/bissextile2.c b/BUT1/DEV1.1/Conditions/bissextile2.c new file mode 100644 index 0000000..3b44a1d --- /dev/null +++ b/BUT1/DEV1.1/Conditions/bissextile2.c @@ -0,0 +1,17 @@ +#include +#include +int main(void) +{ + int annee; + printf("Saisissez votre année : "); + scanf("%d", &annee); + if ((annee % 400 == 0) || ((annee % 100 != 0) && (annee % 4 == 0))) + { + printf("L'année est bissextile\n"); + } + else + { + printf("L'année est normale\n"); + } + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/DEV1.1/Conditions/ordre.c b/BUT1/DEV1.1/Conditions/ordre.c new file mode 100644 index 0000000..108d6e6 --- /dev/null +++ b/BUT1/DEV1.1/Conditions/ordre.c @@ -0,0 +1,33 @@ +#include +#include + +int main() +{ + int num1, num2, num3; + printf(" Entrez le 1er entier = "); + scanf("%d", &num1); + printf("\n Entrez le 2nd entier = "); + scanf("%d", &num2); + printf("\n Entrez le 3ème entier = "); + scanf("%d", &num3); + if (num1 > num2) + { + if (num1 > num3) + { + printf("\n Plus grand nombre est = %d \n", num1); + } + else + { + printf("\n Plus grand nombre est= %d \n", num3); + } + } + else if (num2 > num3) + { + printf("\n Plus grand nombre est= %d \n", num2); + } + else + { + printf("\n PLus grand nombre est= %d \n", num3); + } + return 0; +} \ No newline at end of file diff --git a/BUT1/DEV1.1/Conditions/produit.c b/BUT1/DEV1.1/Conditions/produit.c new file mode 100644 index 0000000..6d53d07 --- /dev/null +++ b/BUT1/DEV1.1/Conditions/produit.c @@ -0,0 +1,24 @@ +#include +#include + +int main(void) +{ + + float nombre = 0; + float nombre2 = 0; + + printf("Rentrez un réel :\n"); + scanf("%f", &nombre); + printf("Rentrez le second réel :\n"); + scanf("%f", &nombre2); + + if ((nombre < 0 && nombre2 < 0) || (nombre > 0 && nombre2 > 0)) + { + + printf("Le résultat est positif"); + } + else + { + printf("Le résultat est négatif"); + } +} diff --git a/BUT1/DEV1.1/Conditions/triple.c b/BUT1/DEV1.1/Conditions/triple.c new file mode 100644 index 0000000..355a9da --- /dev/null +++ b/BUT1/DEV1.1/Conditions/triple.c @@ -0,0 +1,21 @@ +#include +#include +int main(void) +{ + int entier; + int n; + + printf("Entrez un entier naturel :\n"); + scanf("%d", &entier); + + if (entier % 3 == 0) + { + printf("Multiple de 3 : %d\n", entier); + } + if (entier % 3 == 2) + { + printf("Multiple de 3 le plus proche : %d\n", entier + 1); + } + if (entier % 3 == 1) + printf("Multiple de 3 : %d\n", entier - 1); +} diff --git a/BUT1/DEV1.1/Debogueur/1.c b/BUT1/DEV1.1/Debogueur/1.c new file mode 100644 index 0000000..2e5ab83 --- /dev/null +++ b/BUT1/DEV1.1/Debogueur/1.c @@ -0,0 +1,19 @@ +#include +#include + + +int somme(int n, int m) { + return n+m; +} + +int main(void) { + int valeur; + int* p = &valeur; + printf("Entrez un entier : "); + scanf("%d",p); + + printf("Le double vaut %d\n", somme(*p, *p)); + return EXIT_SUCCESS; +} + +/*L'erreur était le NULL après "int* p"*/ \ No newline at end of file diff --git a/BUT1/DEV1.1/Debogueur/2.c b/BUT1/DEV1.1/Debogueur/2.c new file mode 100644 index 0000000..3187fa2 --- /dev/null +++ b/BUT1/DEV1.1/Debogueur/2.c @@ -0,0 +1,20 @@ +#include +#include +#include + +void envers(const char texte[]) { + unsigned position; + for(position = strlen(texte)-1; position >= 0; position--) { + printf("%c", texte[position]); + } + printf("\n"); +} + +int main(int argc, char** argv) { + if (argc < 2) { + printf("usage : %s \n", argv[0]); + return EXIT_FAILURE; + } + envers(argv[1]); + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/DEV1.1/Entiers/arithmetique.c b/BUT1/DEV1.1/Entiers/arithmetique.c new file mode 100644 index 0000000..055043c --- /dev/null +++ b/BUT1/DEV1.1/Entiers/arithmetique.c @@ -0,0 +1,17 @@ +#include +#include + +int main(void) +{ + printf("%d\n", 100 / 6); + printf("%d\n", 100 % 6); + printf("%d\n", 0x1A * 015); + printf("%d\n", -3 / 5); + printf("%d\n", -31 / 5); + printf("%d\n", -31 % 5); + printf("%d\n", 100 * (3 / 5)); + printf("%d\n", 100 * 3 / 5); + printf("%d\n", 2 - 3 - 5); + printf("%d\n", 2 - (3 - 5)); + return EXIT_SUCCESS; +} diff --git a/BUT1/DEV1.1/Entiers/bases.c b/BUT1/DEV1.1/Entiers/bases.c new file mode 100644 index 0000000..cf4a9fc --- /dev/null +++ b/BUT1/DEV1.1/Entiers/bases.c @@ -0,0 +1,10 @@ +#include +#include + +int main(void) +{ + printf("%d\n", 72); + printf("%o\n", 72); + printf("%x\n", 72); + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/DEV1.1/Entiers/multiplication.c b/BUT1/DEV1.1/Entiers/multiplication.c new file mode 100644 index 0000000..6903f76 --- /dev/null +++ b/BUT1/DEV1.1/Entiers/multiplication.c @@ -0,0 +1,8 @@ +#include +#include + +int main(void) +{ + printf("%d\n", 73 << 4); + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/DEV1.1/Entiers/operations.c b/BUT1/DEV1.1/Entiers/operations.c new file mode 100644 index 0000000..03104cd --- /dev/null +++ b/BUT1/DEV1.1/Entiers/operations.c @@ -0,0 +1,17 @@ +#include +#include + +int main(void) { + int n = 12; + + printf("%d", (n>>7)&1); + printf("%d", (n>>6)&1); + printf("%d", (n>>5)&1); + printf("%d", (n>>4)&1); + printf("%d", (n>>3)&1); + printf("%d", (n>>2)&1); + printf("%d", (n>>1)&1); + printf("%d", n&1); + printf("\n"); + return EXIT_SUCCESS; +} diff --git a/BUT1/DEV1.1/Entiers/operations2.c b/BUT1/DEV1.1/Entiers/operations2.c new file mode 100644 index 0000000..31e5a55 --- /dev/null +++ b/BUT1/DEV1.1/Entiers/operations2.c @@ -0,0 +1,17 @@ +#include +#include + +int main(void) { + int n = 12|35; + + printf("%d", (n>>7)&1); + printf("%d", (n>>6)&1); + printf("%d", (n>>5)&1); + printf("%d", (n>>4)&1); + printf("%d", (n>>3)&1); + printf("%d", (n>>2)&1); + printf("%d", (n>>1)&1); + printf("%d", n&1); + printf("\n"); + return EXIT_SUCCESS; +} diff --git a/BUT1/DEV1.1/Entiers/operations3.c b/BUT1/DEV1.1/Entiers/operations3.c new file mode 100644 index 0000000..60a5a5a --- /dev/null +++ b/BUT1/DEV1.1/Entiers/operations3.c @@ -0,0 +1,18 @@ +#include +#include + +int main(void) +{ + int n = 12; + + printf("%.32d", (n >> 7) & 1); + printf("%.32d", (n >> 6) & 1); + printf("%.32d", (n >> 5) & 1); + printf("%.32d", (n >> 4) & 1); + printf("%.32d", (n >> 3) & 1); + printf("%.32d", (n >> 2) & 1); + printf("%.32d", (n >> 1) & 1); + printf("%.32d", n & 1); + printf("\n"); + return EXIT_SUCCESS; +} diff --git a/BUT1/DEV1.1/Entiers/reponses.txt b/BUT1/DEV1.1/Entiers/reponses.txt new file mode 100644 index 0000000..f853492 --- /dev/null +++ b/BUT1/DEV1.1/Entiers/reponses.txt @@ -0,0 +1,6 @@ +5) Opérations : + +le programme suivant affiche le nombre 0000 1100 +On peut en déduire que c'est du binaire +le programme suivant a transformé le nombre 12 écrit en décimal (base 10) en nombre binaire (base 2) +Si on remplace 12 par 35 on pour avoir 00100011 diff --git a/BUT1/DEV1.1/Fichier/1.c b/BUT1/DEV1.1/Fichier/1.c new file mode 100644 index 0000000..82be7b1 --- /dev/null +++ b/BUT1/DEV1.1/Fichier/1.c @@ -0,0 +1,22 @@ +#include +#include + +int main(void){ + char sigle[3]; + int score,i; + FILE* fichier; + fichier = fopen("top10","r"); + if(fichier == NULL){ + fputs("ERREUR !",stderr); + }else{ + for(i=0;i<10;i++){ + fread(&score,sizeof(int),1,fichier); + printf("%.9d ",score); + fread(&sigle,sizeof(char),3,fichier); + printf("%.3s\n",sigle); + } + + } + fclose(fichier); + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/DEV1.1/Fichier/2.c b/BUT1/DEV1.1/Fichier/2.c new file mode 100644 index 0000000..d02d295 --- /dev/null +++ b/BUT1/DEV1.1/Fichier/2.c @@ -0,0 +1,31 @@ +#include +#include + +int main(int argc, char* argv[]){ + FILE* fichier; + char sigle[3]; + int score,i; + fichier = fopen("top10","w"); + if(fichier == NULL){ + fputs("ERREUR !",stderr); + }else{ + + } + fclose(fichier); + + + fichier = fopen("top10","r"); + if(fichier == NULL){ + fputs("ERREUR !",stderr); + }else{ + for(i=0;i<10;i++){ + fread(&score,sizeof(int),1,fichier); + printf("%.9d ",score); + fread(sigle,sizeof(char),3,fichier); + printf("%.3s\n",sigle); + } + + } + fclose(fichier); + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/DEV1.1/Fichier/test.c b/BUT1/DEV1.1/Fichier/test.c new file mode 100644 index 0000000..b9e6be9 --- /dev/null +++ b/BUT1/DEV1.1/Fichier/test.c @@ -0,0 +1,9 @@ +#include +#include + +int main(void){ + printf("\33[48;5;196m \33[m"); + printf("\33[48;5;46m \33[m"); + printf("\33[48;5;21m \33[m"); + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/DEV1.1/Fichier/top10 b/BUT1/DEV1.1/Fichier/top10 new file mode 100644 index 0000000..e9d09e4 --- /dev/null +++ b/BUT1/DEV1.1/Fichier/top10 @@ -0,0 +1 @@ +-1770760190 \ No newline at end of file diff --git a/BUT1/DEV1.1/Fonctions/1.txt b/BUT1/DEV1.1/Fonctions/1.txt new file mode 100644 index 0000000..c0314f5 --- /dev/null +++ b/BUT1/DEV1.1/Fonctions/1.txt @@ -0,0 +1,65 @@ +#include +#include + +void triangle(void){ + int h,x,y; + printf("hauteur ? "); + scanf("%d",&h); + for(x=0;x<=h;x++){ + for(y=0;y un compteur + le h c'est hauteur + le c c'est pour faire tourner une boule infini*/ + int x,y,h,c; + char choix; + printf("t) Triangle\nc) Carré\nq) Quitter\nVotre choix : "); + scanf("%c",&choix); + for(c=0;c!=-1;c++){ + if(choix == 't'){ + triangle(); + } + if(choix=='c'){ + carre(); + } + if(choix=='q'){ + quitter(); + return EXIT_SUCCESS; + } + printf("t) Triangle\nc) Carré\nq) Quitter\nVotre choix : "); + scanf(" %c",&choix); + } + return EXIT_SUCCESS; +} diff --git a/BUT1/DEV1.1/Liste_chainees/circulation.c b/BUT1/DEV1.1/Liste_chainees/circulation.c new file mode 100644 index 0000000..2c5e0b4 --- /dev/null +++ b/BUT1/DEV1.1/Liste_chainees/circulation.c @@ -0,0 +1,83 @@ +#include +#include +#include + +// PROGRAMME D'ALEXIS (A L'AIR FONCTIONNEL) + +typedef struct m{ + int valeur; + struct m* suivant; +} maillon; +void ajoutDebut(maillon** p_liste, int new_valeur){ + maillon* new_maillon = (maillon*) malloc(sizeof(maillon)); + new_maillon->valeur = new_valeur; + new_maillon->suivant = *p_liste; + *p_liste = new_maillon; +} +maillon* creerListe(int taille){ + int i; + int valeur; + maillon* liste = NULL; + for (i=0; isuivant; + free(p_liste); + p_liste=p_suivant; + } +} +void affichage(maillon* liste){ + maillon* addresse=liste; + int i; + while (addresse->suivant!=NULL){ + printf("%hu\n",addresse->valeur); + addresse=addresse->suivant; + } +} +void plusGrand(maillon* liste){ + int plusGrand=0; + maillon* element = liste; + while (element->suivant!=NULL){ + element = element->suivant; + if (element->valeur > plusGrand){ + plusGrand = element->valeur; + } + } + printf("plus grand : %d\n",plusGrand); + +} +void supprDer(maillon* liste){ + if (liste!=NULL){ + if (liste->suivant==NULL){ + free(liste); + liste=NULL; + } + else{ + maillon* p_element = liste; + while ((p_element->suivant)->suivant!=NULL){ + p_element = p_element->suivant; + } + p_element->suivant=NULL; + free(p_element->suivant); + } + } +} +int main(void){ + maillon* liste = NULL; + srand(time(NULL)); + liste = creerListe(10); + affichage(liste); + + supprDer(liste); + + affichage(liste); + plusGrand(liste); + supprListe(liste); + return 0; +} diff --git a/BUT1/DEV1.1/Liste_chainees/maximum.c b/BUT1/DEV1.1/Liste_chainees/maximum.c new file mode 100644 index 0000000..83b4f61 --- /dev/null +++ b/BUT1/DEV1.1/Liste_chainees/maximum.c @@ -0,0 +1,76 @@ +#include +#include +#define TAILLE_LISTE 10 + +typedef struct Element Element; +struct Element +{ + int entier; + Element *suivant; +}; + +int genererRandom(int min, int max) +{ + return min + rand() / (RAND_MAX / (max - min + 1) + 1); +} + +Element *creerListe() +{ + Element *liste = NULL; + for (int i = 0; i < TAILLE_LISTE; i++) + { + Element *nouveauElement = malloc(sizeof(Element)); + nouveauElement->entier = genererRandom(111, 999); + nouveauElement->suivant = liste; + liste = nouveauElement; + } + return liste; +} + +void afficherListe(Element *liste) +{ + if (liste == NULL) + { + exit(EXIT_FAILURE); + } + + while (liste != NULL) + { + printf("%d\n", liste->entier); + liste = liste->suivant; + } + printf("\n"); +} + +int plusGrandElementListe(Element *liste) +{ + int compteur = -1; + while (liste != NULL) + { + if (liste->entier > compteur) + { + compteur = liste->entier; + } + liste = liste->suivant; + } + return compteur; +} + +void supprListe(Element *liste) +{ + Element *suivant = liste; + while (suivant != NULL) + { + suivant = liste->suivant; + free(liste); + liste = suivant; + } +} + +int main(void) +{ + Element *liste = creerListe(); + afficherListe(liste); + printf("\n%d\n", plusGrandElementListe(liste)); + supprListe(liste); +} diff --git a/BUT1/DEV1.1/Listes_chainees_good/1.c b/BUT1/DEV1.1/Listes_chainees_good/1.c new file mode 100644 index 0000000..ce4e13f --- /dev/null +++ b/BUT1/DEV1.1/Listes_chainees_good/1.c @@ -0,0 +1,40 @@ +#include +#include + +struct liste_de_chiffre{ + unsigned short chiffre; + struct liste_de_chiffre* suivant; +}; + +typedef struct liste_de_chiffre maillon; +typedef maillon* liste; + + + +maillon* ajouter_tete(liste t, unsigned short valeur){ + maillon* m = (maillon*) malloc(sizeof(liste)); + m->chiffre = valeur; + m->suivant = t; + return m; +} + +void afficher(maillon* premier) { + maillon* p; + for(p = premier; p != NULL; p = p->suivant) + printf("%hu ", p->chiffre); +} + + +void genere(liste t,int nombre_a_gen){ + int i; + unsigned short valeur_aleatoire = rand(); + for(i=0;i +#include +#include + +int main(void) +{ + double nombrearctan=13; + + printf("La valeur de arctan est :%lf\n" , atan(pow(nombrearctan,2))); + return EXIT_SUCCESS; + + + + +} + + + diff --git a/BUT1/DEV1.1/Maths/Formules/exponentielle.c b/BUT1/DEV1.1/Maths/Formules/exponentielle.c new file mode 100644 index 0000000..a647975 --- /dev/null +++ b/BUT1/DEV1.1/Maths/Formules/exponentielle.c @@ -0,0 +1,18 @@ +#include +#include +#include + +int main(void) +{ + double nombre=-1; + + printf("La valeur de l'exponentielle est :%lf\n" , pow(exp(nombre),4)); + return EXIT_SUCCESS; + + + + +} + + + diff --git a/BUT1/DEV1.1/Maths/Formules/formules.c b/BUT1/DEV1.1/Maths/Formules/formules.c new file mode 100644 index 0000000..88614a1 --- /dev/null +++ b/BUT1/DEV1.1/Maths/Formules/formules.c @@ -0,0 +1,16 @@ +#include +#include +#include + +int main(void) +{ + double nombre=0.5; + double nombre2=M_PI; + + printf("%lf => %lf\n" , nombre, sqrt(fabs(log(nombre)))); + return 0; + +} + + + diff --git a/BUT1/DEV1.1/Maths/Formules/logartihme-3.c b/BUT1/DEV1.1/Maths/Formules/logartihme-3.c new file mode 100644 index 0000000..4869a18 --- /dev/null +++ b/BUT1/DEV1.1/Maths/Formules/logartihme-3.c @@ -0,0 +1,18 @@ +#include +#include +#include + +int main(void) +{ + double nombre=-3; + + printf("La valeur du logartihme est :%lf\n" , log(nombre)); + return EXIT_SUCCESS; + + + + +} + + + diff --git a/BUT1/DEV1.1/Maths/Formules/racinede2.c b/BUT1/DEV1.1/Maths/Formules/racinede2.c new file mode 100644 index 0000000..7ccd3b1 --- /dev/null +++ b/BUT1/DEV1.1/Maths/Formules/racinede2.c @@ -0,0 +1,18 @@ +#include +#include +#include + +int main(void) +{ + double nombre=2; + + printf("La valeur de la racine est :%lf\n" , pow(sqrt(nombre),2)); + return EXIT_SUCCESS; + + + + +} + + + diff --git a/BUT1/DEV1.1/Maths/Formules/sin.c b/BUT1/DEV1.1/Maths/Formules/sin.c new file mode 100644 index 0000000..c86fa8f --- /dev/null +++ b/BUT1/DEV1.1/Maths/Formules/sin.c @@ -0,0 +1,18 @@ +#include +#include +#include + +int main(void) +{ + double nombre=M_PI/6; + + printf("La valeur du sinus est :%lf\n" , sin(M_PI/6)); + return EXIT_SUCCESS; + + + + +} + + + diff --git a/BUT1/DEV1.1/Organisation_code/1.c b/BUT1/DEV1.1/Organisation_code/1.c new file mode 100644 index 0000000..acb65b6 --- /dev/null +++ b/BUT1/DEV1.1/Organisation_code/1.c @@ -0,0 +1,20 @@ +Les prototypes des fonctions exportées : +Exemple : int InitialiserGraphique(); + +Les déclarations des constantes associées : +Exemple : #define _GRAPH_H + #define NB_PIXMAP 10 + +Les déclarations des types associés : +Exemple : typedef unsigned long couleur; + typedef XPoint Point; + +Les directives d inclusion nécessaires : +Exemple : #include + #include + #include + +Les déclarations externes de variables globales : +Exemple : +extern int _X; +extern int _Y; \ No newline at end of file diff --git a/BUT1/DEV1.1/Organisation_code/2.c b/BUT1/DEV1.1/Organisation_code/2.c new file mode 100644 index 0000000..e69de29 diff --git a/BUT1/DEV1.1/Organisation_code/exo1.tar.gz b/BUT1/DEV1.1/Organisation_code/exo1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..e301fdcde16d356263ab157f89be59bcc4eda9d8 GIT binary patch literal 2025 zcmV(K zd9Yikh+e0|ezjgl zE&paX&~!~x+bvz!^aE8>dusatIy?4@V-dwB1vs#Y??#X4Z7ctqg0T7bTuPd|>l~Zl zZnwK>{7Cx^hv-cCZd3O3%J&~nU({kKvHokF411pn;i)j9<^qk&=6+N3c z*Op^m2aXew7_@GsG?jMi&?rjog5Q{-D6GRqbCle=QA{Xw<-7;?0sR$g*!Ok*H*v}wv69ZMXeQdBXIcd81zf6mo#;zsnVz?{2CKshD?V9w;SD^~R5l+9 z>v__ZI%u`TCl@XYpMLg}1#_(}yNN@Y6r8Yb-tca&+ABGZUgrxb2sf`I=+)t$Spg++ zMTht{Uy-<6jnZcl&<63hUIkQ+8aQsr1k6g#c@PZ3tGCd!Ujq4Bc z5xyg_l|?e!ADCJc(}fj7be)-jKV=Dtkb)oFeQv2&{q!{^-e;Y?KEQF_W?z=`dRE{w zV~i*=nZjj^SLtybN-wp3Q7Z`r5Pk*TLhT66{3krfTao7PRZ}3${le|b;Y9v>?!VZT0R3Q=7Uc6v}bktbyAAoof zDP&qPl8>|A(nuDgAxpo{U5_Ykqwz*fJai~oKNix1oD@<%Fkd@}{>G^0f4gA+C-A?X z^S`ck+C2Z$bix1oz!USo|APHdf(&_E-4M!0!8O~#6B9l-#sspQ^uaNvkeo9L{$m?O zejwYlP2>uUR8VS#UzD)%hMUJfRVlVnXSr&v*g!%~dzz^umEp0(8?9}Qhy8H_Cn zcDgZTPAu=8nX5?ywKcoSCX0MO2*rNz*HC=_+0ES_!?yfi>$dare^2B0f2!UV{J#%8 z&i~$O=6_br`P0`VMmaU4H*y%>)dcr!->I#@6TsvDqxlQYrbl+v#1aGSljWO5i~_cdDq1=UzaLCSgSThKRF=NNT;|^ai!)|LTDm!?$nQ+oZw9hF9HOyX%fhGAv%!02y72@1O4%^|$c08o zY}1cj3mUf-zgp>rS!UCL zs?U^U+-tJ*Oc@SqC`d-D#_DjTLZ#$O2kVZF+3ftM!FvO}n&M;+Ka7mY6y6(SW5WEg zJYxEAB1;W=2Mwn%l&yu_S~poRXk;*)jfSjp^Www#_$QRJ)x#}`P2uZ+^FLpwyUG0- zw(){x$jGAI;y3KElb2pomoCO_Ihc4YX5khIK(czv(AQba?i_MPdmxB6iHgW<*u(@ zuCOL0>4p;Xmws*~?OSSQ-KG9gwS0K+8KBQn73vZnOmIxrWnBFdyKi25tzEkPFn%1( zuBV@dxWP@uC4_*0fPjF2fPjF2fPjF2fPjF2fPjF2fPjF2fPjF2fPjF2!0z!Mti8Xg H08jt`ASnt{ literal 0 HcmV?d00001 diff --git a/BUT1/DEV1.1/Organisation_code/exo1/Makefile b/BUT1/DEV1.1/Organisation_code/exo1/Makefile new file mode 100644 index 0000000..7553f89 --- /dev/null +++ b/BUT1/DEV1.1/Organisation_code/exo1/Makefile @@ -0,0 +1,41 @@ +# TP 19 Exercice 1 : fichier Makefile + +# CHAPITRE 1 : BUT FINAL + +but : exo1 + +# CHAPITRE 2 : VARIABLES + +OFILES = lire.o \ + personne.o \ + repertoire.o \ + main.o + +CC = gcc + +CFLAGS = -Wall -ansi -pedantic -g + +# CHAPITRE 3 : DEPENDANCES (REGLES IMPLICITES) + +personne.o : personne.h lire.h + +repertoire.o : repertoire.h personne.h + +main.o : personne.h repertoire.h + +#CHAPITRE 4 : DEPENDANCES AVEC COMMANDES + +lire.o : lire.s lire.h + as -o lire.o lire.s + +exo1 : $(OFILES) + $(CC) $(CFLAGS) -o exo1 $(OFILES) + +#CHAPITRE 5 : NETTOYAGE DES FICHIERS GENERES + +clean : + -rm -f $(OFILES) exo1 + +#CHAPITRE 6 : BUTS FACTICES + +.PHONY : but clean diff --git a/BUT1/DEV1.1/Organisation_code/exo1/exo1 b/BUT1/DEV1.1/Organisation_code/exo1/exo1 new file mode 100755 index 0000000000000000000000000000000000000000..1b8f68f1d5d0d3463878a402d0158994cc0b3a59 GIT binary patch literal 22048 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 g +#include +#include "personne.h" +#include "repertoire.h" + +typedef enum {AJOUTER, AFFICHER, SORTIR} options; + +options saisir_option() { + short o; + printf("\nChoisissez une option :\n"); + printf("1] Ajouter une personne.\n"); + printf("2] Afficher le repertoire.\n"); + printf("3] Sortir\n"); + printf("? "); + scanf("%hd", &o); + switch(o) { + case 1 : return AJOUTER; + case 2 : return AFFICHER; + case 3 : return SORTIR; + default : return AFFICHER; + } +} + +int main(void) { + options opt; + repertoire r = construire_repertoire(); + while ((opt=saisir_option())!=SORTIR) + switch(opt) { + case AJOUTER : + ajouter_personne(r, saisir_personne()); + break; + case AFFICHER : + afficher_repertoire(r); + break; + default : + ; /* rien a faire */ + } + detruire_repertoire(r); + return EXIT_SUCCESS; +} diff --git a/BUT1/DEV1.1/Organisation_code/exo1/options.c b/BUT1/DEV1.1/Organisation_code/exo1/options.c new file mode 100644 index 0000000..1c41dd9 --- /dev/null +++ b/BUT1/DEV1.1/Organisation_code/exo1/options.c @@ -0,0 +1,15 @@ +options saisir_option() { + short o; + printf("\nChoisissez une option :\n"); + printf("1] Ajouter une personne.\n"); + printf("2] Afficher le repertoire.\n"); + printf("3] Sortir\n"); + printf("? "); + scanf("%hd", &o); + switch(o) { + case 1 : return AJOUTER; + case 2 : return AFFICHER; + case 3 : return SORTIR; + default : return AFFICHER; + } +} \ No newline at end of file diff --git a/BUT1/DEV1.1/Organisation_code/exo1/options.h b/BUT1/DEV1.1/Organisation_code/exo1/options.h new file mode 100644 index 0000000..0af235f --- /dev/null +++ b/BUT1/DEV1.1/Organisation_code/exo1/options.h @@ -0,0 +1,5 @@ +#ifndef OPTIONS_H + +/*code*/ + +#endif OPTIONS_H diff --git a/BUT1/DEV1.1/Organisation_code/exo1/personne.c b/BUT1/DEV1.1/Organisation_code/exo1/personne.c new file mode 100644 index 0000000..38195d8 --- /dev/null +++ b/BUT1/DEV1.1/Organisation_code/exo1/personne.c @@ -0,0 +1,33 @@ +/* TP 19 Exercice 1 : fichier personne.c */ + +#include +#include +#include +#include "personne.h" +#include "lire.h" + +personne construire_personne(const char *nom, const char *tel) { + personne p = (personne) malloc(sizeof(struct s_personne)); + strcpy(p->nom, nom); + strcpy(p->tel, tel); + return p; +} + +personne saisir_personne() { + personne p = (personne) malloc(sizeof(struct s_personne)); + printf("\nEntrez le nom de la personne : "); + fflush(stdout); + lire(p->nom, 30); + printf("Entrez son numero de telephone : "); + fflush(stdout); + lire(p->tel, 20); + return p; +} + +void afficher_personne(personne p) { + printf("%-30s %-20s\n", p->nom, p->tel); +} + +void detruire_personne(personne p) { + free(p); +} diff --git a/BUT1/DEV1.1/Organisation_code/exo1/personne.h b/BUT1/DEV1.1/Organisation_code/exo1/personne.h new file mode 100644 index 0000000..079ef3e --- /dev/null +++ b/BUT1/DEV1.1/Organisation_code/exo1/personne.h @@ -0,0 +1,16 @@ +/* TP 19 Exercice 1 : fichier personne.h */ + +#ifndef PERSONNE_H +#define PERSONNE_H + +typedef struct s_personne { + char nom[30]; + char tel[20]; +} * personne; + +personne construire_personne(const char*, const char*); +personne saisir_personne(); +void afficher_personne(personne); +void detruire_personne(personne); + +#endif /* PERSONNE_H */ diff --git a/BUT1/DEV1.1/Organisation_code/exo1/repertoire.c b/BUT1/DEV1.1/Organisation_code/exo1/repertoire.c new file mode 100644 index 0000000..e31e22a --- /dev/null +++ b/BUT1/DEV1.1/Organisation_code/exo1/repertoire.c @@ -0,0 +1,37 @@ +/* TP 19 Exercice 1 : fichier repertoire.c */ + +#include +#include +#include "repertoire.h" +#include "lire.h" + +repertoire construire_repertoire() { + repertoire r = (repertoire) malloc(sizeof(struct s_repertoire)); + r->taille = 0; + return r; +} + +void afficher_repertoire(repertoire r) { + int i = 0; + printf("\n%-30s %-20s\n", "Nom", "Telephone"); + for(; itaille; i++) + afficher_personne((r->personnes)[i]); +} + +int ajouter_personne(repertoire r, personne p) { + if (r->taillepersonnes)[r->taille] = p; + (r->taille)++; + return 0; + } else + return 1; +} + +void detruire_repertoire(repertoire r) { + int i = r->taille; + while(i-->0) { + free((r->personnes)[i]); + } + free(r); +} + diff --git a/BUT1/DEV1.1/Organisation_code/exo1/repertoire.h b/BUT1/DEV1.1/Organisation_code/exo1/repertoire.h new file mode 100644 index 0000000..f6db222 --- /dev/null +++ b/BUT1/DEV1.1/Organisation_code/exo1/repertoire.h @@ -0,0 +1,20 @@ +/* TP 19 Exercice 1 : fichier repertoire.h */ + +#ifndef REPERTOIRE_H +#define REPERTOIRE_H + +#include "personne.h" + +#define CAPACITE 100 + +typedef struct s_repertoire { + int taille; + personne personnes[CAPACITE]; +} * repertoire; + +repertoire construire_repertoire(); +void afficher_repertoire(repertoire); +int ajouter_personne(repertoire, personne); +void detruire_repertoire(repertoire); + +#endif /* REPERTOIRE_H */ diff --git a/BUT1/DEV1.1/Recusrivité/1.c b/BUT1/DEV1.1/Recusrivité/1.c new file mode 100644 index 0000000..bac5a3d --- /dev/null +++ b/BUT1/DEV1.1/Recusrivité/1.c @@ -0,0 +1,16 @@ +#include +#include + +void exemple(unsigned n) { + if (n != 0) { + putchar('>'); + exemple(n-1); + putchar('<'); + } else + putchar('O'); +} + +int main(void){ + exemple(4); + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/DEV1.1/Reels/extremites.c b/BUT1/DEV1.1/Reels/extremites.c new file mode 100644 index 0000000..4485391 --- /dev/null +++ b/BUT1/DEV1.1/Reels/extremites.c @@ -0,0 +1,9 @@ +#include +#include +int main(void) +{ + printf("%f\n", +1.0 / 0.0); + printf("%f\n", -1.0 / 0.0); + printf("%f\n", -0.0 / 0.0); + return EXIT_SUCCESS; +} diff --git a/BUT1/DEV1.1/Reels/interets.c b/BUT1/DEV1.1/Reels/interets.c new file mode 100644 index 0000000..48d4228 --- /dev/null +++ b/BUT1/DEV1.1/Reels/interets.c @@ -0,0 +1,19 @@ +#include +#include + +int main(void) +{ + + float argent = 0; + + printf("Combien d'euros souhaitez vous investir ?\n"); + + scanf("%f", &argent); + + for (int i = 1; i < 8; i++) + { + + argent = argent + (argent * 0.04); + printf("Année %d: %f\n", i, argent); + } +} diff --git a/BUT1/DEV1.1/Reels/operations.c b/BUT1/DEV1.1/Reels/operations.c new file mode 100644 index 0000000..5970045 --- /dev/null +++ b/BUT1/DEV1.1/Reels/operations.c @@ -0,0 +1,12 @@ +#include +#include +int main(void) +{ + printf("%f\n", 5.0 + 2.5); + printf("%f\n", 5.0 - 2.5); + printf("%f\n", 5.0 * 2.5); + printf("%f\n", 5.0 / 2.5); + // printf("%f\n", 5.0 % 2.5); // on ne peut pas effectuer de division euclidienne avec un nombre à virgule (un reél) + return EXIT_SUCCESS; +} +// DIVISION AVEC % SEULEMENT POUR DES ENTIERS (INT) \ No newline at end of file diff --git a/BUT1/DEV1.1/Reels/poussieres.c b/BUT1/DEV1.1/Reels/poussieres.c new file mode 100644 index 0000000..6b82c5c --- /dev/null +++ b/BUT1/DEV1.1/Reels/poussieres.c @@ -0,0 +1,7 @@ +#include +#include +int main(void) +{ + printf("%.15f\n", 12345.678910111213); + return EXIT_SUCCESS; +} diff --git a/BUT1/DEV1.1/Reels/r#U00e9ponses b/BUT1/DEV1.1/Reels/r#U00e9ponses new file mode 100644 index 0000000..162a85d --- /dev/null +++ b/BUT1/DEV1.1/Reels/r#U00e9ponses @@ -0,0 +1,7 @@ +Réels : +1) il faut mettre .12 devant le f pour avoir 12 chiffres après la virgule +2) le % est un opérateur invalide car il est sûrement déjà utilisé au début pour le printf +3) le programme affiche comme résultat : +inf qui veut dire infinité +-inf pareil mais avec un moins vu qu'on a divisé -1 par 0 +-nan signifie non défini car on ne peut pas diviser 0 par 0 diff --git a/BUT1/DEV1.1/Reels/somme1.c b/BUT1/DEV1.1/Reels/somme1.c new file mode 100644 index 0000000..aa5e601 --- /dev/null +++ b/BUT1/DEV1.1/Reels/somme1.c @@ -0,0 +1,21 @@ +#include +#include + +int main(void) +{ + + float nombre1 = 0; + float nombre2 = 0; + float nombre3 = 0; + float nombre4 = 0; + float nombre5 = 0; + + printf("Donne moi 5 nombres réels :\n"); + scanf("%f", &nombre1); + scanf(" %f", &nombre2); + scanf(" %f", &nombre3); + scanf(" %f", &nombre4); + scanf(" %f", &nombre5); + + printf("%f\n ", nombre1 + nombre2 + nombre3 + nombre4 + nombre5); +} \ No newline at end of file diff --git a/BUT1/DEV1.1/Reels/somme2.c b/BUT1/DEV1.1/Reels/somme2.c new file mode 100644 index 0000000..ea2818d --- /dev/null +++ b/BUT1/DEV1.1/Reels/somme2.c @@ -0,0 +1,19 @@ +#include +#include + +int main(void) +{ + + double somme = 0; + double saisie = 0; + + for (int i = 1; i <= 5; i++) + { + printf("Séléctionnez le réel n°%d \n", i); + scanf(" %lf", &saisie); + + somme = somme + saisie; + } + + printf("Somme finale : %lf\n", somme); +} diff --git a/BUT1/DEV1.1/Reels/telescopage.c b/BUT1/DEV1.1/Reels/telescopage.c new file mode 100644 index 0000000..92baaed --- /dev/null +++ b/BUT1/DEV1.1/Reels/telescopage.c @@ -0,0 +1,22 @@ +#include +#include + +int main(void) +{ + + float nombre = 0; + char caractere; + printf("Entrez un nombre réel:\n"); + + scanf("%f", &nombre); + printf("Nombre choisi : %e\n", nombre); + + printf("Saisissez un caractère :\n"); + scanf(" %c", &caractere); + + for (int i = 0; i < 5; i++) + { + + printf("Caractère choisi : %c, AFfichage numéro : %d\n", caractere, i + 1); + } +} diff --git a/BUT1/DEV1.1/Structures/1.c b/BUT1/DEV1.1/Structures/1.c new file mode 100644 index 0000000..c2c5f32 --- /dev/null +++ b/BUT1/DEV1.1/Structures/1.c @@ -0,0 +1,11 @@ +#include +#include +#include + +int main(void){ + + time_t timestamp = time(NULL); + struct tm * timeInfos = localtime(×tamp); + + printf( "%04d/%02d/%02d\n",timeInfos->tm_year+1900, timeInfos->tm_mon+1, timeInfos->tm_mday); +} \ No newline at end of file diff --git a/BUT1/DEV1.1/Structures/2.c b/BUT1/DEV1.1/Structures/2.c new file mode 100644 index 0000000..d52f64d --- /dev/null +++ b/BUT1/DEV1.1/Structures/2.c @@ -0,0 +1,22 @@ +#include +#include + +struct etudiant_s { + char nom; + char prenoms; + int age; +}; + +typedef struct etudiant_s etudiant; + + +int main(void){ + etudiant e = {'M', 'J', 'J'}; + printf("%u",sizeof(e)); + + return EXIT_SUCCESS; +} + + +/* On passe de 3 à 12 quand -> on met 2 char et un int en deuxième => le compilateur prend 3 emplacements de 4 octets dans la mémoire au cas ou, même si elle ne les utilises pas sauf pour le INT + On passe 12 à 8 quand on met int en premier et 2 char après => le compilateur fait partager le bloc de 4 octets dans la mémoire par les deux char*/ diff --git a/BUT1/DEV1.1/Structures/3.c b/BUT1/DEV1.1/Structures/3.c new file mode 100644 index 0000000..afea1f9 --- /dev/null +++ b/BUT1/DEV1.1/Structures/3.c @@ -0,0 +1,10 @@ +#include +#include +#include +#include + + +int main(void){ + struct passwd *reponse = getpwnam("stiti"); + printf("%d\n",reponse->pw_uid); +} \ No newline at end of file diff --git a/BUT1/DEV1.1/TP07-boucles/s#U00e9quencefor.c b/BUT1/DEV1.1/TP07-boucles/s#U00e9quencefor.c new file mode 100644 index 0000000..b713764 --- /dev/null +++ b/BUT1/DEV1.1/TP07-boucles/s#U00e9quencefor.c @@ -0,0 +1,30 @@ +#include +#include +int main(void) +{ + int nombre1 = 0; + int nombre2 = 0; + int i =0; + + printf("Saisissez un nombre entier :\n"); + scanf("%d", &nombre1); + + printf("Saisissez le second nombre :\n"); + scanf(" %d", &nombre2); + + if (nombre1 > nombre2) + { + + printf("Erreur : le premier nombre est supérieur au second. \n"); + } + else + { + + for(i = nombre1; i < nombre2; i++) + + { + + printf("%d\n", i); + } + } +} \ No newline at end of file diff --git a/BUT1/DEV1.1/Tableaux/maximum.c b/BUT1/DEV1.1/Tableaux/maximum.c new file mode 100644 index 0000000..514f908 --- /dev/null +++ b/BUT1/DEV1.1/Tableaux/maximum.c @@ -0,0 +1,119 @@ +#include +#include +#include +#include +#include + +#define MAX 50 +#define MIN -50 + +int generate_random(int min, int max) +{ + return min + rand() / (RAND_MAX / (max - min + 1) + 1); +} +// GENERE UN NOMBRE ALEATOIRE ENTRE MIN ET MAX +int choix_utilisateur=0; +printf("Entrez le nombre de cases : \n"); +scanf("%d" , choix_utilisateur); + +void affichage_tableau(int tableau[]) +{ + for (int i = 0; i < 10; i++) + { + if (i == 9) + { + + printf("+-----+\n"); + } + else + { + + printf("+-----"); + } + } + + for (int i = 0; i < 10; i++) + { + if (i == 9) + { + + printf("|%4d |\n", tableau[i]); + } + else + { + + printf("|%4d ", tableau[i]); + } + } + + for (int i = 0; i < 10; i++) + { + if (i == 9) + + printf("+-----+\n"); + + else + { + + printf("+-----"); + } + } +} +void affichage_fleche(int numero_case) +{ + for (int i = 0; i < 10; i++) + { + + if (i == numero_case) + { + + printf(" | "); + } + else + { + printf(" "); + } + } + printf("\n"); + for (int i = 0; i < 10; i++) + { + + if (i == numero_case) + { + + printf(" V "); + } + else + { + printf(" "); + } + } + printf("\n"); +} + +int main(void) +{ + int tab[10]; + + srand(time(NULL)); + for (int i = 0; i < 10; i++) + { + tab[i] = generate_random(MIN, MAX); + } + + int nombremax = INT_MIN; // plus petit nombre négatif + int numero_case = -1; + + for (int i = 0; i < 10; i++) + { + if (tab[i] > nombremax) + { + nombremax = tab[i]; + numero_case = i; + } + } + affichage_fleche(numero_case); + affichage_tableau(tab); + + return EXIT_SUCCESS; +} diff --git a/BUT1/DEV1.1/Tableaux/miroir.c b/BUT1/DEV1.1/Tableaux/miroir.c new file mode 100644 index 0000000..16c9a8f --- /dev/null +++ b/BUT1/DEV1.1/Tableaux/miroir.c @@ -0,0 +1,82 @@ +#include +#include +#include +#include +#include + +#define MAX 50 +#define MIN -50 + +int generate_random(int min, int max) +{ + return min + rand() / (RAND_MAX / (max - min + 1) + 1); +} + +void affichage_tableau(int tableau[]) +{ + for (int i = 0; i < 10; i++) + { + if (i == 9) + { + + printf("+-----+\n"); + } + else + { + + printf("+-----"); + } + } + + for (int i = 0; i < 10; i++) + { + if (i == 9) + { + + printf("|%4d |\n", tableau[i]); + } + else + { + + printf("|%4d ", tableau[i]); + } + } + + for (int i = 0; i < 10; i++) + { + if (i == 9) + + printf("+-----+\n"); + + else + { + + printf("+-----"); + } + } +} + +int main(void) +{ + int tab[10]; + + srand(time(NULL)); + for (int i = 0; i < 10; i++) + { + tab[i] = generate_random(MIN, MAX); + } + + affichage_tableau(tab); + + int taille_tableau = 10; + + for (int i = 0; i < taille_tableau / 2; i++) + { + int temp = tab[i]; + tab[i] = tab[taille_tableau - 1 - i]; + tab[taille_tableau - 1 - i] = temp; + } + affichage_tableau(tab); + + return EXIT_SUCCESS; +} diff --git a/BUT1/DEV1.1/Tableaux/recherche.c b/BUT1/DEV1.1/Tableaux/recherche.c new file mode 100644 index 0000000..a49233e --- /dev/null +++ b/BUT1/DEV1.1/Tableaux/recherche.c @@ -0,0 +1,104 @@ +#include +#include +#include +#include +#include + +#define MAX 50 +#define MIN -50 + +int generate_random(int min, int max) +{ + return min + rand() / (RAND_MAX / (max - min + 1) + 1); +} + +void affichage_tableau(int tableau[]) +{ + for (int i = 0; i < 10; i++) + { + if (i == 9) + { + + printf("+-----+\n"); + } + else + { + + printf("+-----"); + } + } + + for (int i = 0; i < 10; i++) + { + if (i == 9) + { + + printf("|%4d |\n", tableau[i]); + } + else + { + + printf("|%4d ", tableau[i]); + } + } + + for (int i = 0; i < 10; i++) + { + if (i == 9) + + printf("+-----+\n"); + + else + { + + printf("+-----"); + } + } +} + +int main(void) +{ + int tab[10]; + + srand(time(NULL)); + for (int i = 0; i < 10; i++) + { + tab[i] = generate_random(MIN, MAX); + } + + int nombremax = INT_MIN; + int numero_case = -1; + + for (int i = 0; i < 10; i++) + { + if (tab[i] > nombremax) + { + nombremax = tab[i]; + numero_case = i; + } + } + + affichage_tableau(tab); + + int nombre_utilisateur = 0; + int numero_case_utilisateur = -1; + printf("Entrez un numéro présent dans le tableau : "); + scanf("%d", &nombre_utilisateur); + for (int i = 0; i < 10; i++) + { + if (nombre_utilisateur == tab[i]) + { + numero_case_utilisateur = i; + break; + } + } + if (numero_case_utilisateur == -1) + { + printf("Le numéro n'est pas dans le tableau \n"); + } + else + { + printf("Le numéro de case est %d\n ", numero_case_utilisateur); + } + return EXIT_SUCCESS; +} diff --git a/BUT1/DEV1.1/Tableaux/remplissage.c b/BUT1/DEV1.1/Tableaux/remplissage.c new file mode 100644 index 0000000..f5abd9e --- /dev/null +++ b/BUT1/DEV1.1/Tableaux/remplissage.c @@ -0,0 +1,67 @@ +#include +#include +#include +#include + +#define MAX 50 +#define MIN -50 + +int generate_random(int min, int max) +{ + return min + rand() / (RAND_MAX / (max - min + 1) + 1); +} + +int main(void) +{ + int tab[10]; + + srand(time(NULL)); + for (int i = 0; i < 10; i++) + { + tab[i] = generate_random(MIN, MAX); + } + + for (int i = 0; i < 10; i++) + { + if (i == 9) + { + + printf("+-----+\n"); + } + else + { + + printf("+-----"); + } + } + + for (int i = 0; i < 10; i++) + { + if (i == 9) + { + + printf("|%4d |\n", tab[i]); + } + else + { + + printf("|%4d ", tab[i]); + } + } + + for (int i = 0; i < 10; i++) + { + if (i == 9) + { + + printf("+-----+\n"); + } + else + { + + printf("+-----"); + } + } + + exit(EXIT_SUCCESS); +} diff --git a/BUT1/DEV1.1/Tableaux_multidimensionnels/progressions.c b/BUT1/DEV1.1/Tableaux_multidimensionnels/progressions.c new file mode 100644 index 0000000..ea33399 --- /dev/null +++ b/BUT1/DEV1.1/Tableaux_multidimensionnels/progressions.c @@ -0,0 +1,65 @@ +#include +#include + +#define ROW_T1 2 // ROW = ligne = à mettre entre les premiers crochets +#define COLUMN_T1 5 // COLMUN = colonne = à mettre entre les seconds crochets +#define ROW_T2 3 +#define COLUMN_T2 5 +#define ROW_T3 5 +#define COLUMN_T3 5 +// PROGRAMME T1 +int main(void) +{ + int tab1[ROW_T1][COLUMN_T1]; + + for (int i = 0; i < ROW_T1; i++) + { + + for (int j = 0; j < COLUMN_T1; j++) + { + + tab1[i][j] = j + 1; + + printf("%d ", tab1[i][j]); + } + printf("\n"); + } + printf("\n"); + + int tab2[ROW_T2][COLUMN_T2]; + int compteur = 1; + + for (int i = 0; i < ROW_T2; i++) + { + + for (int j = 0; j < COLUMN_T2; j++) + { + + tab2[i][j] = compteur; + compteur = compteur + 1; + + printf("%d ", tab2[i][j]); + } + printf("\n"); + } + printf("\n"); + + int tab3[ROW_T3][COLUMN_T3]; + for (int i = 0; i < ROW_T3; i++) + { + for (int j = 0; j < COLUMN_T3; j++) + { + if (j < i) + { + tab3[i][j] = j + 1; + } + else + { + tab3[i][j] = 0; + } + + printf("%d ", tab3[i][j]); + } + printf("\n"); + } +} \ No newline at end of file diff --git a/BUT1/DEV1.1/Types/affluence.c b/BUT1/DEV1.1/Types/affluence.c new file mode 100644 index 0000000..960c950 --- /dev/null +++ b/BUT1/DEV1.1/Types/affluence.c @@ -0,0 +1,21 @@ +#include +#include + +int main(void) +{ + int lundi = 0, mardi = 0, mercredi = 0, jeudi = 0, vendredi = 0; + double moyenne = 0; + printf("Le nombre de visiteurs lundi est : "); + scanf("%d", &lundi); + printf("Le nombre de visiteurs mardi est : "); + scanf(" %d", &mardi); + printf("Le nombre de visiteurs mercredi est : "); + scanf(" %d", &mercredi); + printf("Le nombre de visiteurs jeudi est : "); + scanf(" %d", &jeudi); + printf("Le nombre de visiteurs vendredi est : "); + scanf(" %d", &vendredi); + moyenne = ((double)lundi + (double)mardi + (double)mercredi + (double)jeudi + (double)vendredi) / 5; + + printf("Le nombre de moyen de visiteurs est : %lf\n", moyenne); +} \ No newline at end of file diff --git a/BUT1/DEV1.1/Types/debordement.c b/BUT1/DEV1.1/Types/debordement.c new file mode 100644 index 0000000..30561ec --- /dev/null +++ b/BUT1/DEV1.1/Types/debordement.c @@ -0,0 +1,18 @@ +#include +#include +#include + +int main (void) +{ + int nombre=0; + signed char caractere=0; + printf("Choisissez un nombre entier : "); + scanf("%d", &nombre); + caractere=nombre; + printf("%hhd\n", caractere); + return EXIT_SUCCESS; + + +} + + diff --git a/BUT1/DEV1.1/Types/variete.c b/BUT1/DEV1.1/Types/variete.c new file mode 100644 index 0000000..b7711a1 --- /dev/null +++ b/BUT1/DEV1.1/Types/variete.c @@ -0,0 +1,26 @@ +#include +#include +#include + +int main (void) +{ + signed char nombre=77; + unsigned char nombre2=77; + short int nombre3=77; + unsigned short int nombre4=77; + int nombre5=77; + unsigned int nombre6=77; + long int nombre7=77; + unsigned long int nombre8=77; + long long int nombre9=77; + unsigned long long int nombre10=77; + + + printf("%hhd,%hhu,%hd,%hu,%d,%u,%ld,%lu,%lld,%llu\n" , nombre,nombre2,nombre3,nombre4,nombre5,nombre6,nombre7,nombre8,nombre9,nombre10); + + + + +} + + diff --git a/BUT1/DEV1.1/fichier(suite)/1.c b/BUT1/DEV1.1/fichier(suite)/1.c new file mode 100644 index 0000000..ac85afb --- /dev/null +++ b/BUT1/DEV1.1/fichier(suite)/1.c @@ -0,0 +1,23 @@ +#include +#include + +int main(void){ + FILE* fichier; + int i = 0; + int reponse; + fichier = fopen("sauvegarde.txt","r"); + if(fichier != NULL){ + reponse = fscanf(fichier,"%d",&i); + fclose(fichier); + } + i++; + + fichier = fopen("sauvegarde.txt","w"); + if(fichier != NULL){ + fprintf(fichier,"%d",i); + fclose(fichier); + } + printf("%d\n",i); + + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/DEV1.1/fichier(suite)/2.c b/BUT1/DEV1.1/fichier(suite)/2.c new file mode 100644 index 0000000..4391f53 --- /dev/null +++ b/BUT1/DEV1.1/fichier(suite)/2.c @@ -0,0 +1,10 @@ +#include +#include +#include + +int main(void){ + FILE* fichier; + fichier = fopen("image.bin","r"); + + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/BUT1/DEV1.1/fichier(suite)/image b/BUT1/DEV1.1/fichier(suite)/image new file mode 100644 index 0000000000000000000000000000000000000000..d2ac982ba70e76f70de813c97693643dbf850893 GIT binary patch literal 1066 zcmb7@OAdoD3`BE-dYffW(mV7JoU}_86%uPCPSTmNO+pqGj8H!CGPV;^>ot{YSgkj~ zPsm2KcqJM3wvDob>_KvCFU$|p!LJ0+v3XtbKt1S8fC)HHvN;Z5B4%0y(3~v-cgb3Y zHccSu$Pp_l&YVExhtDE64I0Sp+xN30NC*o$M=ir!hW2s=5TZQv8;XU8<9yQ(S~~cIBDD60jKW}bf@DGwT1795(qpqMa!d+6k1%TiNGm=)_@YpC9=7iz z6VJ%Ch;dG2{AkQFq}^#CzqrNN@?22095G-z-st@>?d}YGh{wMYqc**JxfJbxbN#yh E0OC4sh5!Hn literal 0 HcmV?d00001 diff --git a/BUT1/DEV1.1/fichier(suite)/image.bin b/BUT1/DEV1.1/fichier(suite)/image.bin new file mode 100644 index 0000000000000000000000000000000000000000..d67e8dec8e8caecac9ff69918c0056ef2be57e09 GIT binary patch literal 6291464 zcmeFaf2^)mb?^IHZED;%C)6Kjx79RlXf7uOF;G_Mj4gXz)_mq? zZq|6#SYyoj%;#Ne?LGckbIs>@-e-<6=9u3x=9pv7XYriHV)5+7Vr6CJ>3^aOIfNd> zI0zgF90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i; z90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i; z90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i; z90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i; z90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i; z90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i; z90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i; z90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i; z90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i; z90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i; z90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i; z90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i; z90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i; z90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i; z90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i; z90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i; z90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i;90(i; 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

lz#`}7z5_|G|?uFjvI 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�cUZzZMQB;7{GBR_sNZvHvX{G2BTmAyR^ycu5X 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