summaryrefslogtreecommitdiff
path: root/sem_3/SYSTEME/TP2
diff options
context:
space:
mode:
authorGaspard Coulet <gaspard.coulet@mines-ales.org>2021-04-28 23:05:53 +0200
committerGaspard Coulet <gaspard.coulet@mines-ales.org>2021-04-28 23:05:53 +0200
commit9fe033ea88c2f705ec18c232873d056e0c229d72 (patch)
tree0647dc8c51610c7336c88c04de2068ea14b21e17 /sem_3/SYSTEME/TP2
Initial commit
Diffstat (limited to 'sem_3/SYSTEME/TP2')
-rw-r--r--sem_3/SYSTEME/TP2/ex6/parambin0 -> 8571 bytes
-rw-r--r--sem_3/SYSTEME/TP2/ex6/param.c12
-rw-r--r--sem_3/SYSTEME/TP2/ex7/moyennebin0 -> 8573 bytes
-rw-r--r--sem_3/SYSTEME/TP2/ex7/moyenne.c14
-rw-r--r--sem_3/SYSTEME/TP2/ex9/strsplitbin0 -> 8715 bytes
-rw-r--r--sem_3/SYSTEME/TP2/ex9/strsplit.c54
-rw-r--r--sem_3/SYSTEME/TP2/impair.c5
-rw-r--r--sem_3/SYSTEME/TP2/impair.h1
-rw-r--r--sem_3/SYSTEME/TP2/pair.c4
-rw-r--r--sem_3/SYSTEME/TP2/pair.h1
-rw-r--r--sem_3/SYSTEME/TP2/spairbin0 -> 8695 bytes
-rw-r--r--sem_3/SYSTEME/TP2/spair.c11
12 files changed, 102 insertions, 0 deletions
diff --git a/sem_3/SYSTEME/TP2/ex6/param b/sem_3/SYSTEME/TP2/ex6/param
new file mode 100644
index 0000000..944bb79
--- /dev/null
+++ b/sem_3/SYSTEME/TP2/ex6/param
Binary files differ
diff --git a/sem_3/SYSTEME/TP2/ex6/param.c b/sem_3/SYSTEME/TP2/ex6/param.c
new file mode 100644
index 0000000..c321752
--- /dev/null
+++ b/sem_3/SYSTEME/TP2/ex6/param.c
@@ -0,0 +1,12 @@
+#include<stdlib.h>
+#include<stdio.h>
+
+int main ( int argc, char **argv) {
+ printf("Nombre d'arguments : %d\n", argc);
+ int i = 1;
+ for (i; i < argc; i ++ ) {
+ printf("%s\n",argv[i]);
+ }
+return 0;
+}
+
diff --git a/sem_3/SYSTEME/TP2/ex7/moyenne b/sem_3/SYSTEME/TP2/ex7/moyenne
new file mode 100644
index 0000000..3e75ffc
--- /dev/null
+++ b/sem_3/SYSTEME/TP2/ex7/moyenne
Binary files differ
diff --git a/sem_3/SYSTEME/TP2/ex7/moyenne.c b/sem_3/SYSTEME/TP2/ex7/moyenne.c
new file mode 100644
index 0000000..6a420d8
--- /dev/null
+++ b/sem_3/SYSTEME/TP2/ex7/moyenne.c
@@ -0,0 +1,14 @@
+#include<stdlib.h>
+#include<stdio.h>
+
+int main ( int argc, char **argv) {
+ int i = 1;
+ double moy = 0;
+ for (i; i < argc; i ++ ) {
+ moy += atof(argv[i]);
+ }
+moy = moy/(i-1);
+printf("%f \n", moy );
+return 0;
+}
+
diff --git a/sem_3/SYSTEME/TP2/ex9/strsplit b/sem_3/SYSTEME/TP2/ex9/strsplit
new file mode 100644
index 0000000..65fe687
--- /dev/null
+++ b/sem_3/SYSTEME/TP2/ex9/strsplit
Binary files differ
diff --git a/sem_3/SYSTEME/TP2/ex9/strsplit.c b/sem_3/SYSTEME/TP2/ex9/strsplit.c
new file mode 100644
index 0000000..69c68e5
--- /dev/null
+++ b/sem_3/SYSTEME/TP2/ex9/strsplit.c
@@ -0,0 +1,54 @@
+#include<stdlib.h>
+#include<stdio.h>
+
+//char ** strsplit ( char*,char);
+char ** strsplit ( char * fichier, char sep ) {
+ printf("entree dans strsplit");
+ int nbsep = 0;
+ int cpt = 0;
+ while ( fichier[cpt] != '\0' ) {
+ nbsep += (fichier[cpt] == sep ? 1 : 0);
+ cpt ++;
+ }
+ printf("%d bloc differents",cpt);
+ int i = 0, offset = 0, offsetchar = 0;
+ char ** tab = malloc((cpt + 1)*sizeof(char*)) ;
+ printf("tab init");
+ //tab[cpt] = NULL;
+ printf("%p", tab[cpt+1]);
+ for ( i =0; i < cpt+1; i ++ ) {
+ tab[i] = malloc ( 100 * sizeof(char));
+ }
+ i =0;
+ cpt = 0;
+ while ( fichier[i] != '\0' ) {
+ if (fichier[i] != sep) {
+ tab[offset][offsetchar] = fichier[i];
+ offsetchar ++;
+ cpt ++;
+ }
+ else {
+ tab[offset][offsetchar]='/0';
+ tab[offset] = realloc ( tab[offset], (cpt) * sizeof(char));
+ offset++;
+ offsetchar = 0;
+ cpt = 0 ;
+ }
+ }
+return tab;
+}
+
+
+int main (int argc, char ** argv) {
+int i=0,cpt=0;
+printf("jusqu'ici tout va bien");
+char ** tableau = strsplit(argv[1], argv[2][0]);
+while (tableau[i]!=NULL) {
+ while (tableau[i][cpt]!='\0') {
+ printf("%c",tableau[i][cpt]);
+ cpt ++;
+ }
+ printf("\n");
+i ++;
+}
+return 0;}
diff --git a/sem_3/SYSTEME/TP2/impair.c b/sem_3/SYSTEME/TP2/impair.c
new file mode 100644
index 0000000..f61f5bc
--- /dev/null
+++ b/sem_3/SYSTEME/TP2/impair.c
@@ -0,0 +1,5 @@
+#include "pair.h"
+
+int impair ( unsigned int i) {
+ return (i == 0 ? 0 : ( pair(i-1)));
+}
diff --git a/sem_3/SYSTEME/TP2/impair.h b/sem_3/SYSTEME/TP2/impair.h
new file mode 100644
index 0000000..196468b
--- /dev/null
+++ b/sem_3/SYSTEME/TP2/impair.h
@@ -0,0 +1 @@
+int impair(unsigned int);
diff --git a/sem_3/SYSTEME/TP2/pair.c b/sem_3/SYSTEME/TP2/pair.c
new file mode 100644
index 0000000..05b9a0a
--- /dev/null
+++ b/sem_3/SYSTEME/TP2/pair.c
@@ -0,0 +1,4 @@
+#include "impair.h"
+int pair(unsigned int i){
+ return (i == 0 ? 1 : impair(i-1));
+}
diff --git a/sem_3/SYSTEME/TP2/pair.h b/sem_3/SYSTEME/TP2/pair.h
new file mode 100644
index 0000000..2b5acab
--- /dev/null
+++ b/sem_3/SYSTEME/TP2/pair.h
@@ -0,0 +1 @@
+int pair ( unsigned int );
diff --git a/sem_3/SYSTEME/TP2/spair b/sem_3/SYSTEME/TP2/spair
new file mode 100644
index 0000000..fe2dd14
--- /dev/null
+++ b/sem_3/SYSTEME/TP2/spair
Binary files differ
diff --git a/sem_3/SYSTEME/TP2/spair.c b/sem_3/SYSTEME/TP2/spair.c
new file mode 100644
index 0000000..32fa224
--- /dev/null
+++ b/sem_3/SYSTEME/TP2/spair.c
@@ -0,0 +1,11 @@
+#include <stdlib.h>
+#include <stdio.h>
+#include "pair.h"
+#include "impair.h"
+
+int main ( int argc, char ** argv) {
+ int param = atoi(argv[1]);
+ if (pair(param)) printf("%d est pair\n", param);
+ else printf("%d est impair\n", param);
+ return 0;
+}