Skip to content
Snippets Groups Projects
Verified Commit b0a51900 authored by orestis.malaspin's avatar orestis.malaspin
Browse files

added all makefiles and .gitignores

parent 417aaf64
No related branches found
No related tags found
No related merge requests found
Showing
with 609 additions and 381 deletions
TOPTARGETS := all clean
SUBDIRS := $(wildcard */.)
$(TOPTARGETS): $(SUBDIRS)
$(SUBDIRS):
$(MAKE) -C $@ $(MAKECMDGOALS)
.PHONY: $(TOPTARGETS) $(SUBDIRS)
factorielle
ppcm_bis
nb1er
pgcd
ppcm
CC:=gcc
SAN:=-fsanitize=address
CFLAGS:=-Wall -Wextra -pedantic -g $(SAN)
LDFLAGS:=-lm $(SAN)
EXECS := $(shell find . -type f -iname '*.c' | sed 's/\.c//g')
all: $(EXECS)
$(EXECS): %: %.c
$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS)
@echo $@ >> .gitignore
.PHONY: clean all
clean:
rm -f *.o $(EXECS) .gitignore
string_deep_shallow_copy
CC:=gcc
SAN:=-fsanitize=address
CFLAGS:=-Wall -Wextra -pedantic -g $(SAN)
LDFLAGS:=-lm $(SAN)
EXECS := $(shell find . -type f -iname '*.c' | sed 's/\.c//g')
all: $(EXECS)
$(EXECS): %: %.c
$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS)
@echo $@ >> .gitignore
.PHONY: clean all
clean:
rm -f *.o $(EXECS) .gitignore
...@@ -7,7 +7,9 @@ typedef struct _chaine { ...@@ -7,7 +7,9 @@ typedef struct _chaine {
} chaine; } chaine;
int length(char *phrase) { int length(char *phrase) {
if (NULL == phrase) return -1;; if (NULL == phrase) {
return -1;
}
int len = 0; int len = 0;
while (0 != phrase[len]) { while (0 != phrase[len]) {
len++; len++;
...@@ -41,7 +43,7 @@ chaine shallow_copy(chaine ch) { ...@@ -41,7 +43,7 @@ chaine shallow_copy(chaine ch) {
// S'il y a plusieurs pointeurs sur le même tableau de caractères, // S'il y a plusieurs pointeurs sur le même tableau de caractères,
// les autres pointeurs ne seront pas mis à NULL // les autres pointeurs ne seront pas mis à NULL
void chaine_free(chaine *ch) { void chaine_free(chaine *ch) {
if (NULL != ch->str) if (NULL != ch->str) {
free(ch->str); free(ch->str);
ch->str = NULL; ch->str = NULL;
} }
...@@ -50,7 +52,8 @@ void chaine_free(chaine* ch) { ...@@ -50,7 +52,8 @@ void chaine_free(chaine* ch) {
void main() { void main() {
char *tutu = malloc(10 * sizeof(char)); char *tutu = malloc(10 * sizeof(char));
for (int i=0;i<6;i++) tutu[i] = 'b'; for (int i = 0; i < 6; i++)
tutu[i] = 'b';
tutu[6] = 0; tutu[6] = 0;
chaine ch = chaine_build(tutu); chaine ch = chaine_build(tutu);
chaine tmp = deep_copy(ch); chaine tmp = deep_copy(ch);
...@@ -61,12 +64,3 @@ void main() { ...@@ -61,12 +64,3 @@ void main() {
printf("%s\n", tmp.str); printf("%s\n", tmp.str);
} }
...@@ -3,20 +3,36 @@ ...@@ -3,20 +3,36 @@
// Suite de Fibonacci: a_n = a_{n-1} + a_{n-2}, a_0 = 0, a_1 = 1 // Suite de Fibonacci: a_n = a_{n-1} + a_{n-2}, a_0 = 0, a_1 = 1
int fib(int n); int fib(int n);
int fib_imp(int n);
int main() { int main() {
int n; int n;
printf("n="); printf("n=");
scanf("%d", &n); scanf("%d", &n);
printf("%d\n", fib(n)); printf("%d\n", fib(n));
printf("%d\n", fib_imp(n));
} }
// Suite de Fibonacci: a_n = a_{n-1} + a_{n-2}, a_0 = 0, a_1 = 1 // Suite de Fibonacci: a_n = a_{n-1} + a_{n-2}, a_0 = 0, a_1 = 1
int fib(int n) { int fib(int n) {
switch (n) { switch (n) {
case 0: return 0; case 0:
case 1: return 1; return 0;
default: return fib(n-1)+fib(n-2); case 1:
return 1;
default:
return fib(n - 1) + fib(n - 2);
} }
} }
int fib_imp(int n) {
int fib0 = 1;
int fib1 = 1;
int fib = n == 0 ? 0 : fib1;
for (int i = 2; i < n; ++i) {
fib = fib0 + fib1;
fib0 = fib1;
fib1 = fib;
}
return fib;
}
factorielle_refactored
tri_select_refactored_part
chess_queen_refactored
nb1er_refactored
tri_select_to_refactor
eratosthene_refactored
anagramme_refactored
palindrome_refactored
array_1D_init_find_min_refactored
tri_select_refactored
pgcd_refactored
chess_queen_refactored_part
ppcm_refactored
CC:=gcc
SAN:=-fsanitize=address
CFLAGS:=-Wall -Wextra -pedantic -g $(SAN)
LDFLAGS:=-lm $(SAN)
EXECS := $(shell find . -type f -iname '*.c' | sed 's/\.c//g')
all: $(EXECS)
$(EXECS): %: %.c
$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS)
@echo $@ >> .gitignore
.PHONY: clean all
clean:
rm -f *.o $(EXECS) .gitignore
...@@ -3,9 +3,9 @@ ...@@ -3,9 +3,9 @@
typedef enum _piece { SAFE, VULN, QUEEN } piece; typedef enum _piece { SAFE, VULN, QUEEN } piece;
void print(int n,int m,cell tab[n][m]); void print(int n, int m, piece tab[n][m]);
void init_board(int n,int m,cell tab[n][m]); void init_board(int n, int m, piece tab[n][m]);
void couverture(int n,int m,cell tab[n][m],int r_x,int r_y); void couverture(int n, int m, piece tab[n][m], int r_x, int r_y);
void main() { void main() {
int n = 8; int n = 8;
...@@ -29,9 +29,14 @@ void print(int n,int m,piece board[n][m]) { ...@@ -29,9 +29,14 @@ void print(int n,int m,piece board[n][m]) {
printf("%c ", 'a' + i); printf("%c ", 'a' + i);
for (int j = 0; j < m; j++) { for (int j = 0; j < m; j++) {
switch (board[i][j]) { switch (board[i][j]) {
case VULN: printf(" *"); break; case VULN:
case SAFE : printf(" o"); break; printf(" *");
case QUEEN: printf(" R"); break;
case SAFE:
printf(" o");
break;
case QUEEN:
printf(" R");
} }
} }
printf("\n"); printf("\n");
......
tris_base_part
tris_base
quicksort
heapsort_main
heapsort.o
quicksort_part
CC:=gcc
SAN:=-fsanitize=address
CFLAGS:=-Wall -Wextra -pedantic -g $(SAN)
LDFLAGS:=-lm $(SAN)
all: tris_base_part tris_base quicksort heapsort_main quicksort_part
tris_base_part: tris_base_part.c
$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS)
@echo $@ >> .gitignore
tris_base: tris_base.c
$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS)
@echo $@ >> .gitignore
quicksort: quicksort.c
$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS)
@echo $@ >> .gitignore
quicksort_part: quicksort_part.c
$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS)
@echo $@ >> .gitignore
heapsort_main: heapsort_main.c heapsort.o
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
@echo $@ >> .gitignore
@echo *.o >> .gitignore
heapsort.o: heapsort.h
.PHONY: clean all
clean:
rm -f *.o tris_base tris_base_part quicksort_part quicksort heapsort_main .gitignore
fractions_part
fractions
CC:=gcc
SAN:=-fsanitize=address
CFLAGS:=-Wall -Wextra -pedantic -g $(SAN)
LDFLAGS:=-lm $(SAN)
EXECS := $(shell find . -type f -iname '*.c' | sed 's/\.c//g')
all: $(EXECS)
$(EXECS): %: %.c
$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS)
@echo $@ >> .gitignore
.PHONY: clean all
clean:
rm -f *.o $(EXECS) .gitignore
#include <assert.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <assert.h>
typedef struct _fraction { typedef struct _fraction {
int num; int num;
...@@ -41,14 +41,15 @@ fraction fraction_build(int num,int den) { ...@@ -41,14 +41,15 @@ fraction fraction_build(int num,int den) {
} }
fraction add(fraction frac1, fraction frac2) { fraction add(fraction frac1, fraction frac2) {
return fraction_build(frac1.num*frac2.den+frac1.den*frac2.num,frac1.den*frac2.den); return fraction_build(
frac1.num * frac2.den + frac1.den * frac2.num, frac1.den * frac2.den);
} }
fraction add1(int n, fraction frac) { fraction add1(int n, fraction frac) {
return add(fraction_build(n, 1), frac); return add(fraction_build(n, 1), frac);
} }
fraction add2(fraction frac,int n,) { fraction add2(fraction frac, int n) {
return add1(n, frac); return add1(n, frac);
} }
...@@ -56,6 +57,16 @@ void add_inplace(fraction* frac1,fraction frac2) { ...@@ -56,6 +57,16 @@ void add_inplace(fraction* frac1,fraction frac2) {
*frac1 = add(*frac1, frac2); *frac1 = add(*frac1, frac2);
} }
void neg_inplace(fraction *frac1) {
frac1->num = -frac1->num;
}
fraction neg(fraction frac) {
fraction f = frac;
neg_inplace(&f);
return f;
}
fraction sub(fraction frac1, fraction frac2) { fraction sub(fraction frac1, fraction frac2) {
return add(frac1, fraction_build(-frac2.num, frac2.den)); return add(frac1, fraction_build(-frac2.num, frac2.den));
} }
...@@ -64,8 +75,8 @@ fraction sub1(int n,fraction frac) { ...@@ -64,8 +75,8 @@ fraction sub1(int n,fraction frac) {
return sub(fraction_build(n, 1), frac); return sub(fraction_build(n, 1), frac);
} }
fraction sub2(fraction frac,int n,) { fraction sub2(fraction frac, int n) {
return add(frac,-n); return add2(frac, -n);
} }
void sub_inplace(fraction *frac1, fraction frac2) { void sub_inplace(fraction *frac1, fraction frac2) {
...@@ -73,7 +84,8 @@ void sub_inplace(fraction* frac1,fraction frac2) { ...@@ -73,7 +84,8 @@ void sub_inplace(fraction* frac1,fraction frac2) {
} }
fraction mult(fraction frac1, fraction frac2) { fraction mult(fraction frac1, fraction frac2) {
return fraction_build(frac1.num*frac2.num,frac1.den*frac2.den);; return fraction_build(frac1.num * frac2.num, frac1.den * frac2.den);
;
} }
fraction mult1(int n, fraction frac) { fraction mult1(int n, fraction frac) {
...@@ -124,12 +136,23 @@ float reel(fraction frac) { ...@@ -124,12 +136,23 @@ float reel(fraction frac) {
fraction compute(fraction f1, fraction f2, char op) { fraction compute(fraction f1, fraction f2, char op) {
fraction res; fraction res;
switch (op) { switch (op) {
case 'x': res = mult(f1,f2); break; case 'x':
case '+': res = add(f1,f2); break; res = mult(f1, f2);
case '/': res = divide(f1,f2); break; break;
case '-': res = sub(f1,f2); break; case '+':
case 'p': res = puiss(f1,f2.num); break; res = add(f1, f2);
default : printf("Pas implémenté\n"); break;
case '/':
res = divide(f1, f2);
break;
case '-':
res = sub(f1, f2);
break;
case 'p':
res = puiss(f1, f2.num);
break;
default:
printf("Pas implémenté\n");
} }
return res; return res;
} }
...@@ -154,12 +177,15 @@ void main(int argc,char** argv) { ...@@ -154,12 +177,15 @@ void main(int argc,char** argv) {
break; break;
case 6: case 6:
f1 = fraction_build(atoi(argv[1]), atoi(argv[2])); f1 = fraction_build(atoi(argv[1]), atoi(argv[2]));
print(f1); printf("\n"); print(f1);
printf("\n");
f2 = fraction_build(atoi(argv[4]), atoi(argv[5])); f2 = fraction_build(atoi(argv[4]), atoi(argv[5]));
print(f2); printf("\n"); print(f2);
printf("\n");
print(compute(f1, f2, argv[3][0])); print(compute(f1, f2, argv[3][0]));
break; break;
default: printf("Pas implémenté\n"); default:
printf("Pas implémenté\n");
} }
printf("\n"); printf("\n");
} }
......
#include <assert.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <assert.h>
typedef struct _fraction { typedef struct _fraction {
int num; int num;
...@@ -41,14 +41,15 @@ fraction fraction_build(int num,int den) { ...@@ -41,14 +41,15 @@ fraction fraction_build(int num,int den) {
} }
fraction add(fraction frac1, fraction frac2) { fraction add(fraction frac1, fraction frac2) {
return fraction_build(frac1.num*frac2.den+frac1.den*frac2.num,frac1.den*frac2.den); return fraction_build(
frac1.num * frac2.den + frac1.den * frac2.num, frac1.den * frac2.den);
} }
fraction add1(int n, fraction frac) { fraction add1(int n, fraction frac) {
return add(fraction_build(n, 1), frac); return add(fraction_build(n, 1), frac);
} }
fraction add2(fraction frac,int n,) { fraction add2(fraction frac, int n) {
return add1(n, frac); return add1(n, frac);
} }
...@@ -65,7 +66,7 @@ fraction sub1(int n,fraction frac) { ...@@ -65,7 +66,7 @@ fraction sub1(int n,fraction frac) {
return fraction_build(0, 1); return fraction_build(0, 1);
} }
fraction sub2(fraction frac,int n,) { fraction sub2(fraction frac, int n) {
//à compléter //à compléter
return fraction_build(0, 1); return fraction_build(0, 1);
} }
...@@ -130,12 +131,23 @@ float reel(fraction frac) { ...@@ -130,12 +131,23 @@ float reel(fraction frac) {
fraction compute(fraction f1, fraction f2, char op) { fraction compute(fraction f1, fraction f2, char op) {
fraction res; fraction res;
switch (op) { switch (op) {
case 'x': res = mult(f1,f2); break; case 'x':
case '+': res = add(f1,f2); break; res = mult(f1, f2);
case '/': res = divide(f1,f2); break; break;
case '-': res = sub(f1,f2); break; case '+':
case 'p': res = puiss(f1,f2.num); break; res = add(f1, f2);
default : printf("Pas implémenté\n"); break;
case '/':
res = divide(f1, f2);
break;
case '-':
res = sub(f1, f2);
break;
case 'p':
res = puiss(f1, f2.num);
break;
default:
printf("Pas implémenté\n");
} }
return res; return res;
} }
...@@ -160,12 +172,15 @@ void main(int argc,char** argv) { ...@@ -160,12 +172,15 @@ void main(int argc,char** argv) {
break; break;
case 6: case 6:
f1 = fraction_build(atoi(argv[1]), atoi(argv[2])); f1 = fraction_build(atoi(argv[1]), atoi(argv[2]));
print(f1); printf("\n"); print(f1);
printf("\n");
f2 = fraction_build(atoi(argv[4]), atoi(argv[5])); f2 = fraction_build(atoi(argv[4]), atoi(argv[5]));
print(f2); printf("\n"); print(f2);
printf("\n");
print(compute(f1, f2, argv[3][0])); print(compute(f1, f2, argv[3][0]));
break; break;
default: printf("Pas implémenté\n"); default:
printf("Pas implémenté\n");
} }
printf("\n"); printf("\n");
} }
......
array_1D_init_find_min
palindrome
eratosthene
tri_select
anagramme
tri_select_ebauche
CC:=gcc
SAN:=-fsanitize=address
CFLAGS:=-Wall -Wextra -pedantic -g $(SAN)
LDFLAGS:=-lm $(SAN)
EXECS := $(shell find . -type f -iname '*.c' | sed 's/\.c//g')
all: $(EXECS)
$(EXECS): %: %.c
$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS)
@echo $@ >> .gitignore
.PHONY: clean all
clean:
rm -f *.o $(EXECS) .gitignore
...@@ -19,7 +19,7 @@ void main() { ...@@ -19,7 +19,7 @@ void main() {
printf("\n"); printf("\n");
//à compléter //à compléter
int debut = 0; int debut = 0;
for (....) { //à compléter for (int k = 0; k < -1; ++k) { //à compléter, ce code est FAUX
// recherche du plus petit élément du sous-tableau de début à SIZE // recherche du plus petit élément du sous-tableau de début à SIZE
int ind_min = 0; // à remplacer 0 par debut int ind_min = 0; // à remplacer 0 par debut
double val_min = tab[0]; // à remplacer 0 par debut double val_min = tab[0]; // à remplacer 0 par debut
......
chess_queen_part
chess_queen
calcul_matrix
matrix.o
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment