From d886cc7e7a45ab8d3661c1b8d4ffd6fc1b6af78c Mon Sep 17 00:00:00 2001 From: Benjamin-Sitbon <Benjaminsitbon@hotmail.com> Date: Mon, 6 May 2019 13:12:05 +0200 Subject: [PATCH] Move --- circ_list.c | 370 +++++++++++++++++++++++++++++++++++++++++++++ circ_list.h | 57 +++++++ circ_list.o | Bin 0 -> 4410 bytes joseph.c | 75 +++++++++ joseph.exe | Bin 0 -> 45411 bytes joseph.o | Bin 0 -> 1695 bytes makefile | 29 ++++ matrix.c | 30 ++++ matrix.h | 8 + matrix.o | Bin 0 -> 694 bytes matrix_compute.c | 1 + matrix_compute.exe | Bin 0 -> 40910 bytes matrix_compute.o | Bin 0 -> 668 bytes pointer_sort.c | 71 +++++++++ pointer_sort.exe | Bin 0 -> 41910 bytes pointer_sort.o | Bin 0 -> 1601 bytes 16 files changed, 641 insertions(+) create mode 100644 circ_list.c create mode 100644 circ_list.h create mode 100644 circ_list.o create mode 100644 joseph.c create mode 100644 joseph.exe create mode 100644 joseph.o create mode 100644 makefile create mode 100644 matrix.c create mode 100644 matrix.h create mode 100644 matrix.o create mode 100644 matrix_compute.c create mode 100644 matrix_compute.exe create mode 100644 matrix_compute.o create mode 100644 pointer_sort.c create mode 100644 pointer_sort.exe create mode 100644 pointer_sort.o diff --git a/circ_list.c b/circ_list.c new file mode 100644 index 0000000..95ed608 --- /dev/null +++ b/circ_list.c @@ -0,0 +1,370 @@ +#include <stdio.h> +#include <stdlib.h> +#include <stdbool.h> +#include "circ_list.h" + +void display(Element* head){ + + Element* now = head; + printf("["); + + do { + printf("%d;",now->content); + now = now->next; + if(now == NULL){ + break; + } + }while(now->part != Head); + printf("]"); +} + + +//Fonction Créant des éléments par défaut +Element* element_create(void *data, Body Part, Element* Next){ + + //Allocation de la mémoire + Element* New = calloc(1,sizeof(Element)); + //Attribution des données + New->content = data; + New->part = Part; + New->next = Next; + //Retour de l'élément + return New; +} + +//Fonction qui créer une liste vide contenant seulement la tête +Element* list_create(){ + + Element* create = element_create(NULL,Head,NULL); + return create; +} + +//Fonction Créant un chaine par défaut +Chain_Circ* chain_create(){ + + //Déclaration de la tête ainsi de que de la queue + Element* tail = element_create(NULL,Tail,NULL); + //last et next correspondent a la queue pour la tête + Element* head = element_create(NULL,Head,tail); + //et inversement pour la queue + tail->next = head; + //Attribution de la mémoire pour la chaine + Chain_Circ* New = calloc(1,sizeof(Chain_Circ)); + //Distribution de la tête, la queue et la longueur + New->head = head; + New->tail = tail; + //2 est la longueur de base vue qu'il n'y a que la tête et la queue + New->length = 2; + +} + +//Fonction vérifiant le contenu de la chaine +bool list_empty(Element* head){ + + //Si head ne pointe sur rien alors la chaine est vide + if(head->next == NULL) { + //On retourne donc "vrai" + return true; + } + else { + //Sinon elle n'est pas vide on retourne "faux" + return false; + } +} + +//Fonction qui déplace la tête au prochain élément +Element* list_move(Element* head){ + + head->next->part= Head; + Element* new_head = head->next; + head->part = Tail; + + return new_head; +} + +//Fonction qui compte le nombre d'élément de la liste en partant de la tête +unsigned int list_count(Element* head) { + + //On utilise une fonction qui contient la tête + Element* now = head; + //Et une autre qui va compter les éléments + unsigned int count = 0; + //On compte tant que l'on est pas de retour à la tête ou que le prochaine élément est NULL + do{ + count++; + //On passe à l'élément d'après ici + now = now->next; + if(now == NULL){ + break; + } + }while(now->part != Head); + return count; +} + +//Fonction qui insert un élément après la tête +Element* list_insert_after(Element* head, void* data){ + + //On créer l'élément que l'on veut insérer + Element* insert = element_create(data,Trunk,NULL); + //Si il y avait déja un élément après la tête + if(head->next != NULL){ + //Notre nouvel pointera dessus afin de garder intacte la liste + insert->next = head->next; + } + //Sinon on fait simplement pointer la tête sur le nouvel élément + head->next = insert; + + //Puis on le retourne + return insert; + +} + +//Fonction qui insert un élément avant la tête +Element* list_insert_before(Element* head, void* data) { + + //On créé simplement un élément qui pointe sur la tête + Element* insert = element_create(data,Trunk,head); + + return insert; +} + +//Fonction de comparaison des données +int compare (void* data1, void* data2){ + + //On vérifie si les valeurs sont différentes + if (data1!=data2 ){ + + return 0; + } + //Si la condition n'est pas remplie alors elle sont égales + else { + + return 1; + } +} + +//Fonction qui recherche un élément dans la liste +Element* list_search(Element* head, void* data, int (*compare)(void*, void*)){ + + //On stock head dans une variable + Element* now = head; + + //Boucle s'arrêtant au retour de la tête si c'est une liste circulaire ou des qu'un élément est NULL + do{ + //On compare les valeurs + int v = (*compare)(data,now->content); + //Si c'est 1 on retourne l'élément car on l'a trouvé + if(v==1){ + return now; + } + //Sinon on passe à celui d'après + now = now->next; + + if(now == NULL){ + return NULL; + } + + }while(now->part != Head); + + //Si on fini la boucle sans rien avoir trouvé on renvoi NULL + return NULL; +} + + +//Fonction qui supprime un élément dans la liste +Element* list_remove(Element* head, void* data, int (*compare)(void*, void*)){ + + //On stock head dans une variable + Element* now = head; + //On créé une variable pour garder l'élément précédent + Element* last; + + //Boucle s'arrêtant au retour de la tête si c'est une liste circulaire ou des qu'un élément est NULL + do{ + //On compare les valeurs + int v = (*compare)(data,now->content); + //Si le retour est 1 + if(v==1){ + //on fait pointé l'élément juste avant celui qu'on supprime à l'élément après celui-ci + last->next = now->next; + + //Et l'élément qu'on veut enlever de la liste ne pointe plus sur rien. De cette façon il n'est plus dans la liste + now->next = NULL; + return now; + } + + //le précédent de vient l'actuel + last = now; + //l'actuel devient le prochain + now = now->next; + + if(now == NULL){ + return NULL; + } + + }while(now->part != Head); + + //Si on fini la boucle sans rien avoir trouvé on renvoi NULL + return NULL; + +} + + +void list_free(Element* head, void (*data_free)(void*)){ + + //On stock head dans une variable + Element* now = head; + + //Boucle s'arrêtant au retour de la tête si c'est une liste circulaire ou des qu'un élément est NULL + do{ + + (*data_free)(now); + + //l'actuel devient le prochain + now = now->next; + + if(now->next == NULL){ + break; + } + + }while(now->part != Head); + +} + +//TESTS// + +//TEST DE LA CREATION DE CHAINE +void Test1() { + + //On créer un chaine afin de vérifier si elle correspond bien à nôtre code + Chain_Circ* test = chain_create(); + + //On verifie chaque attribut pour qu'il correspondent bien au code + if(test->length == 2 && test->head->part == Head && test->tail->part == Tail){ + printf("\nTest chain_create() OK"); + } + //Si la condition n'est pas rempli alors notre fonction ne fait pas ce que l'on veut + else{ + printf("\nTest chain_create() Error"); + } + + //On libère la mémoire + free(test->head); + free(test->tail); + free(test); + +} + +//TEST COMPTE DE LA LISTE +void Test2(){ + + //Création d'une chaine par défaut + Chain_Circ* test = chain_create(); + + //On verifie si ça correspond a la taille donnée par défaut + if(list_count(test->head)== test->length){ + printf("\nTest list_count() OK"); + } + else{ + printf("\nTest list_count() Error"); + } + + //Libération de la mémoire + free(test->head); + free(test->tail); + free(test); +} + +//TEST INSERTION AVANT ET APRES LA TETE +void Test4() { + + //On créer une liste + Element* head = list_create(); + int* data = 1; + + //Utilisation de la fonction d'insertion après la tête + Element* insert1 = list_insert_after(head, data); + //Si la tête pointe bien sur l'élément retourné et que la donné est bien celle que l'on voulait le test est bon + if(head->next == insert1 && head->next->content == data){ + printf("\nTest list_insert_after() OK"); + } + else { + printf("\nTest list_insert_after() Error"); + } + + //Puis on refait la même chose avec la fonction d'insertion avant la tête + Element* insert2 = list_insert_before(head,data); + if(insert2->next == head && insert2->content == data){ + printf("\nTest list_insert_before() OK"); + } + else { + printf("\nTest list_insert_before() Error"); + } + list_free(head,free); +} + +//TEST DE LA FONCTION DE RECHERCHE +void Test5(){ + + //Création d'un liste + Element* test = list_create(); + //Variable de la donnée qui sera testée + int* data; + //Insertion d'élément de 5 à 1 + for(int i = 5; i>0; i--){ + data = i; + list_insert_after(test,data); + } + //Recherche d'un des éléments inséré + data = 3; + Element* test_v = list_search(test,data,compare); + + //Recherche d'un élément qui n'a pas été inséré + data = 7; + Element* test_f = list_search(test,data,compare); + + //Si il trouve le premier et non le deuxieme alors la fonction marche parfaitement + if(test_v != NULL && test_f == NULL){ + printf("\nTest list_search() OK"); + } + else{ + printf("\nTest list_search() Error"); + } + //On libére la mémoire + list_free(test,free); +} + +//TEST DE LA FONCTION DE SUPPRESSION D'UN ELEMENT DE LA LISTE +void Test6(){ + + //Création d'un liste + Element* test = list_create(); + //Variable de la donnée qui sera testée + int* data; + //Insertion d'élément de 5 à 1 + for(int i = 5; i>0; i--){ + data = i; + list_insert_after(test,data); + } + data = 3; + list_remove(test,data,compare); + Element* test_s = list_search(test,data,compare); + + if (test_s == NULL){ + printf("\nTest list_remove() OK"); + } + else{ + printf("\nTest list_remove() Error"); + } + //On libère la mémoire + list_free(test,free); +} + +//Fonction de tout les Tests +void All_Test(){ + Test1(); + Test2(); + Test4(); + Test5(); + Test6(); +} \ No newline at end of file diff --git a/circ_list.h b/circ_list.h new file mode 100644 index 0000000..8cbda30 --- /dev/null +++ b/circ_list.h @@ -0,0 +1,57 @@ +#include <stdbool.h> +//Enum Body afin de déterminer les partis de la chaine dans nôtre structure Element suivante +typedef enum Body { + + Head, + Tail, + Trunk, + +}Body; + +//Structure Element Contenant la donnée, l'élément suivant, l'élément précédent et la parti de la chaine (queue, tête ou tronc) +typedef struct Element{ + + void* content; + struct Element* next; + Body part; + +}Element; + +//Structure Représentant une chaine circulaire composé de la tête et de la queue ainsi que de la longeur de la chaine +typedef struct Chain_Circ { + + Element* head; + Element* tail; + unsigned int length; + +}Chain_Circ; + +//Fonctions defini pour le fichier "circ_list.c" + +Element* element_create(void *data, Body Part, Element* Next); + +Element* list_create(); + +Chain_Circ* chain_create(); + +bool list_empty(Element* head); + +Element* list_move(Element* head); + +unsigned int list_count(Element* head); + +Element* list_insert_after(Element* head, void* data); + +Element* list_insert_before(Element* head, void* data); + +int compare(void* data1, void* data2); + +Element* list_search(Element* head, void* data, int (*compare)(void*, void*)); + +Element* list_remove(Element* head, void* data, int (*compare)(void*, void*)); + +void list_free(Element* head, void (*data_free)(void*)); + +void display(Element* head); + + diff --git a/circ_list.o b/circ_list.o new file mode 100644 index 0000000000000000000000000000000000000000..34952b9f1e0830060127ae3bce6201fa56bfe395 GIT binary patch literal 4410 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 Jk`Q)>0|32UDpddg literal 0 HcmV?d00001 diff --git a/joseph.c b/joseph.c new file mode 100644 index 0000000..7a4c393 --- /dev/null +++ b/joseph.c @@ -0,0 +1,75 @@ +#include <stdio.h> +#include <stdbool.h> +#include <stdlib.h> +#include "circ_list.h" + +//Fonction qui supprime le k-eme élément +Element* delete_k(Element* head,int k){ + + //Variable de déplacement dans la liste + Element* now = head; + //variable pour le compte + int loop = 1; + //Si k = 1 cela veut dire que l'on va supprimer la tête donc on la déplace + if(k==1){ + head = list_move(head); + } + //Boucle jusqu'a que que notre compte soit égale à k + while(loop!=k){ + //Incrémentation + loop++; + //On passe à l'élément d'après + now = now->next; + } + //Affichage de l'élément supprimé comme demandé + printf("\n%d",now->content); + //Suppression + list_remove(head,now->content,compare); + //On retourne la tête dans le cas où elle aurait été changé + return head; +} + +int main (int argc, char *argv[]){ + + if(strcmp(argv[1], "test") == 0){ + All_Test(); + } + else{ + //On récupère les 2 premiers arguments + int n = atoi(argv[1]); + int k = atoi(argv[2]); + + //Création d'une liste + Element* head = list_create(); + //On donne la valeur 1 + head->content = 1; + + int* kk; + //Boucle d'insertion jusqu'a avoir n élément dans la liste chainée + for(int i=n; i>1; i--) { + kk = i; + list_insert_after(head,kk); + } + + int* length = n; + //On cherche le dernier élément de la liste + Element* last = list_search(head,length,compare); + //On le fait pointé sur la tête pour avoir réellement un liste chainée + last->next = head; + + //Affichage de la liste + display(head); + //Boucle pour l'ordre de suprression + for(int i =0; i<n; i++) { + + //Si "k" depasse "n" on lui soustrait "n" et on lui ajoute "i"(qui correspond au nombre d'éléments supprimés) + while(k > n) { + k = k - n + i; + } + //On supprime l'élément à la k-eme place moins i + head = delete_k(head, k - i); + //On augmente k de sa valeur de départ a chaque boucle + k += atoi(argv[2]); + } + } +} \ No newline at end of file diff --git a/joseph.exe b/joseph.exe new file mode 100644 index 0000000000000000000000000000000000000000..1a921245da6d6d3bb3b20ddad95a114102965370 GIT binary patch literal 45411 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 SFlf3(4=J3v7wmNC5Ig`h7-$Os literal 0 HcmV?d00001 diff --git a/joseph.o b/joseph.o new file mode 100644 index 0000000000000000000000000000000000000000..bdc613e042be2501a222e768b46c43b96e29b4e0 GIT binary patch literal 1695 zcmeZaWMcpUJ{ATBSrCJPg;B30wW0*fh7d;>85md?85jbXA$&mw1_lKNg9N>l#F9ja z5Khv8!Qg;iQgJa(1yG3wkh&sN19=!27)~%j6+kHm1_K9u6DS8tsW31wT*0Q!&=jfy zLPanzF#KR*VE6^~2S^LZywJ|4&2KciT{${kzZ`e{z{tSB&|J&ISSkw=Vo`Yk(%tFG z@tU{U^#fzK>z8f^mQL3%-L4<3U3p4hg9I2lT~t_(vw$4J09FnbJno{x0oLoH!h&Q} zw=2iV!yr4Kd}w}S09DS@e1N5!;kb(m3kw4SLnqYM)&r$nU<EIQ85tP5T_LJqvYjp} zGGH-|Zn%z47Zn|_j!qX9jcykejpGa;|8%>k$aK1>sJvF}c2QC3bWxG$c2SW4xf-Mf zW?*xUiV9<Mjfx6m{SBxN5tt{sT~tKS)pxq62y}yRh>AvM01L8F$6ZtuKz@H6-0h;G zqYbkDP`8VU0^<dc3qfMmE-Ethk3cMK7Zn9$qjUcK{||OP$iGN_V{}o`X$F}AG6<x- zX8R719VZV@n82l)!cdZ03{JN0&dyc}8orr%?%{g*Md=Fe&d$1Kdd7MNx`vtxU<Lz& z2uLFX0|R4K5CdZk2ct9(3rhzh1A`0$1cPD$Y?vb-M=O&PFDp~QQ63f+u)GZe149J^ z1A`wZWMT5mUW_0GAWsW1fXw$|U|`^8U|?Wl@MmCP5C)6IfJu;8HUk5LD418rz`y{? zQ6da|a2?Ya7#PIBvhx`j7{tM>Ees3{5@6N|IO`$<1A`=3jFpjrK?=-LWCYm`vcr^- zfk7H976A2`2*VOam?<EavVvtD7#J8JEWNbMoK$GY{QJ+qkj|KuUz}Qyp_dF5gi;_o zK}<#l1qLQiD1bOfI6gNqGmn9R0ThB@H4MmQ3P=Mp;~_?fzY*Gy%M(!EWCkfjNP}6( zWeF%7V^xDxj)3BknUNE$7oAXs3V{61%n0K_1)-E4lm?ZO%#5HC1mrTPAOizKd_2sr zATb37h^z&O1I8ec_=2L$ypl99A5?NOF~le5=N2RuL4z8k1|;bWBET3V5?@?Wl$=`t z=0kLWm;oRHjKOLWOY$?pJP-jA0nt$)0*qlI>0lm+fQeLrIA9DCiBHKaF33r&1Pg%T zl%bu0fk6)(jw)4ERSbHm8S!aFiMgo^@hPb}sU@lL**K(gGK)*%bMwnm8REgrqEraS pF()TJ1e8G`!pTLci6t;KnR&&jMJ4fxX(g#eP;JGjiABj73;^-x4SxUt literal 0 HcmV?d00001 diff --git a/makefile b/makefile new file mode 100644 index 0000000..3ab6699 --- /dev/null +++ b/makefile @@ -0,0 +1,29 @@ +All: joseph matrix_compute pointer_sort + +joseph: circ_list.o joseph.o + gcc -o joseph circ_list.o joseph.o + +matrix_compute: matrix.o matrix_compute.o + gcc -o matrix_compute matrix.o matrix_compute.o + +pointer_sort: pointer_sort.o + gcc -o pointer_sort pointer_sort.o + +circ_list.o: circ_list.c + gcc -o circ_list.o -c circ_list.c + +joseph.o: joseph.c + gcc -o joseph.o -c joseph.c + +matrix.o: matrix.c + gcc -o matrix.o -c matrix.c + +matrix_compute.o: matrix_compute.c + gcc -o matrix_compute.o -c matrix_compute.c + + +pointer_sort.o: pointer_sort.c + gcc -o pointer_sort.o -c pointer_sort.c + +clean: + del /f /q *.o diff --git a/matrix.c b/matrix.c new file mode 100644 index 0000000..fa60b0b --- /dev/null +++ b/matrix.c @@ -0,0 +1,30 @@ +#include <stdio.h> +#include <stdlib.h> +#include <stdbool.h> +#include "matrix.h" + +m_double* matrix_alloc(unsigned int row, unsigned int col){ + + if(row == 0 || col == 0){ + return NULL; + } + m_double* matrix = calloc(1,sizeof(m_double)); + double ** mat_ptr = malloc(row*col*sizeof(double)); + matrix->content = malloc(row*col*sizeof(double*)) + for (int i=0;i<li;i++) mat->content[i] = data+i*co; + return matrix; + +} + + + +m_double* matrix_transpose(m_double* matrix){ + + m_double transp = matrix_alloc(matrix->col,matrix->row); + for(int i=0;i<matrix->row;i++){ + for(int j=0;j<matrix->col;j++){ + transp[j][i] = matrix[i][j]; + } + } + +} \ No newline at end of file diff --git a/matrix.h b/matrix.h new file mode 100644 index 0000000..4905544 --- /dev/null +++ b/matrix.h @@ -0,0 +1,8 @@ +typedef struct m_double { + unsigned int row, col; + double** content; +} m_double; + +m_double* matrix_alloc(unsigned int row, unsigned int col); + +m_double* matrix_transpose(m_double* m); diff --git a/matrix.o b/matrix.o new file mode 100644 index 0000000000000000000000000000000000000000..4180cf6ac3e7f81eeca9ac7669e9928d8e04b74a GIT binary patch literal 694 zcmeZaWMu$>97YBPeh`C!g;B30wW0*fh7bx23=DS|7#JcLA$$;}z+jM|my%eL2ob_b zIxrX<&`T;V#;E`*(ZFDEK;Hz)fl?|A3=DsuY#8OhVBnx{XbR(kX$uAh1_ee2h9r=~ z7#J8p6i8iY=hNml8pmB!Sa=v17>={3fFxdkv~;?DnQ-#3yR);Ef`)Hqo_n}neo?xD zyR);dnVzwpfv%yZ0+_+TAOcbjGP5d(fw6{zQJRN^rGt@yL52Z>SwMD!)Hw2Sv@$vI zvc??cVPRol5My9q;9~&k2ZbI;l?a1gT4qivNG$^c!@vIw4C#!yi6upu6?(}~K`12& zr5PC%7??nAhVo$)a{Pd#nHfQLfLJgU3=GI|!^FVAz>F#lR)`!g%sAA56sm&=1_lO@ zFPIsXp*&Q|2+9SeCT2!ZjG$T=pPZPJlMnN#0s|9+4Fdy%UJ)n>sZ>=}G3cdc#HSS{ Q=B6^lLqa7Uq5-QC0QrDRUH||9 literal 0 HcmV?d00001 diff --git a/matrix_compute.c b/matrix_compute.c new file mode 100644 index 0000000..dbbd85e --- /dev/null +++ b/matrix_compute.c @@ -0,0 +1 @@ +int main(){} \ No newline at end of file diff --git a/matrix_compute.exe b/matrix_compute.exe new file mode 100644 index 0000000000000000000000000000000000000000..2c3ce2bb599db4eeeaaf55a5829244da5d48c2d6 GIT binary patch literal 40910 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 aUs{|B%KET81x=~wA%!!)f}IW>Q3e2x6;J;F literal 0 HcmV?d00001 diff --git a/matrix_compute.o b/matrix_compute.o new file mode 100644 index 0000000000000000000000000000000000000000..8bdd7c1e0f37ce1dc7641608c1d1ebaaf04530c3 GIT binary patch literal 668 zcmeZaWMu$>1V#o1eh`C!g;B30wW0*fh7ckQ3=DS|7#MsQA$$;}z+jM|my%eL2ob_b zIxrX<&`T;V#;E`*(ZFDEK;Hz)fl?|A3=AKjY#8OhVBnx{XbR(kX$uAh1`$REhA@!B z7#J8p6i8iY=hNmVA6|ge>;Mrb4^Noj?(A%(py8XD=N_(?UzD!k?(D2<re~~Yplhh9 z0A?^Sfcy(m&sY`2z*xh<D9yvd(!t2UAj1H`EDQ_`LLdc>d>pMzPQ0vsM|oIS7#P?Y z7#R3KZedVhU|;~L5@FCw%gjjysbyeb`1hZIA)PTdv7{)oB0f1kx1h8nRWF%=AwD-T zGY_hUkwJlh3FHANA4Va^2}qim5#$083#NjB0XaUH7#J9sQKi8Ok>i3HhZ>MVNe}_` z1v8^El!r=z;s+!GN<qwwpjbe)Fg_mHX9^5V40;R<40=VNWTR45RmGr}nh~E?l$e`} GT@V1JbV#TG literal 0 HcmV?d00001 diff --git a/pointer_sort.c b/pointer_sort.c new file mode 100644 index 0000000..72fa295 --- /dev/null +++ b/pointer_sort.c @@ -0,0 +1,71 @@ +#include <stdio.h> +#include <stdbool.h> +#include <stdlib.h> + +//Fonction de Vérification d'une valeur dans un tableau +int check(int* tab[],unsigned int len, int n){ + + //On parcours + for(int i=0; i<len; i++){ + //Si la valeur est égale à une d'une tableau on retourne 1 + if(n==tab[i]){ + return 1; + } + } + //Sinon 0 + return 0; +} + +//Fonction de sort +int* sort(int tab[],unsigned int len){ + + //Tableau de pointeur(len-1 car on prendra argc en argument) + int* ptr_tab[len-1]; + //variable utile dans le processus + int sort; + + //Double boucle + for(int j=0; j<len-1; j++) { + //Initialisation + sort = 0; + + for (int i = 0; i < len-1; i++) { + //On vérifie d'abord si la valeur n'est pas déjà dans le tableau autrement on la passe + int v = check(ptr_tab,len-1,tab[i]); + if (v == 1) { + continue; + } + //Sort prend la première valeur valable du tableau + if(sort==0){sort = tab[i];} + + //Ensuite on compare avec chaque élément pour voir lequel est le plus petit + if (sort >= tab[i]) { + + //On pointe sur celui ci tant qu'on en trouve pas un autre encore plus petit + ptr_tab[j] = *(tab+i); + //Si on trouve un plus petit on remplace les valeurs + sort = tab[i]; + } + } + //Affichage des valeurs + printf("\n%d",ptr_tab[j]); + } + return ptr_tab; +} + + +int main(int argc, char *argv[]){ + + //Tableau qui contiendra les arguments + int tab[argc]; + + //Boucle (on commence à 1 pour ne pas prendre le nom du fichier dans nos arguments) + for(int i=1; i<argc; i++){ + //On transforme les char en int et on les entre dans le tableau + tab[i-1]=atoi(argv[i]); + } + //On sort les valeurs + int* ptr = sort(tab,argc); + + +} \ No newline at end of file diff --git a/pointer_sort.exe b/pointer_sort.exe new file mode 100644 index 0000000000000000000000000000000000000000..8d039c0d7d3fc7583840abc83733a9b2ef334fe1 GIT binary patch literal 41910 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 a2TF@mK?MOUhe6XVdPw2Sy<n$9N2viqMPc*+ literal 0 HcmV?d00001 diff --git a/pointer_sort.o b/pointer_sort.o new file mode 100644 index 0000000000000000000000000000000000000000..c662c30c2fe50a7091d2b5d3f1830c3a71cce18c GIT binary patch literal 1601 zcmeZaWMcq<Di#I?F%W}+g;B30wW0*fh7ci43=Axc3=9e^5I#tU0)s(<UP@v~B18x$ z>A+xcKrgAd7^ecLL<2}&5vqY8>mrz;3ZRq&gMov-36uk+R2Uc-Vz8+*G=-{wPzx9s z7#f%v7-B#MGcYiKw1CVD?R?t&M&P*XACR)w%H6JidPQ16>~2>M#tYp7-L3+bhf3LZ zFfuSOycTSB{lnPp`p4Rpr|9YqkgAi1Lpz@aH@`9Ie9(Eg+m)yJ1!L!-=2wiJp)U?T zVCoHE-XXxiz|j1Hk@3P#5Nj7m)Ax_r2LxV#Sei$AT~v6Q4=^8m!F2EeQ>W{b<E|e- z5-)EvFfbf<{Q_bicYOn*Ue01*VCZ&zgYG__UXTCXu1`8cR5&_)R9HG$R9>k6|Np<! z^+9v(1ICi1=Grd|r6TAW89H6RV2D|}eyKOc5bZqJ?fRrU^g}1l1WY;CFRvLVG`qfG z>~`hp4fx;f`o{7Qe|zZv{~$MYhkod0nb7H?!g8Di6j2OdPdB@MfUEuhQZ4fT|9^03 zcHZfZ{d4kgua62#^OFz%3;%?6J`E2G4s3p-(RmuIxAQ^g@owhcfd8GL4~Pz64x|9S zbKLa_I4-rjU7z$8fLsX+P-hm#3*8K$@B;;R=b>)bJDnmMnq8kTcDp{YX0AEcEesM0 zfrK&3KTsIo===kAd2i~6$mqEE*xtlHhbM5UrZBiWJ6kDe_-5w0hwJ4Rr7O5QJL{V1 z8S5G78fq$l84L^}AbS`X7#OR97#M3f7^QhwSUMOP7-SeA7?e~UL24ZNI9i#Ucv)+Y z^02TlFeorEFxW6KFt{=>Fa(1<1Cw`YW@h$gJbIXig~fq^fgyo`fnf$C1H*oh87@4G z4DJG~Or;EN{LG~VYy#{|r8NR<Or;e9%uJ;vOv?`PFfuqEc0A^I-0`S0*q$l|1_mJp zkUO&&85npN7#P?X@)<#V5MIs5z#t5kz0C+yC(6XYAPN=(xe-)Wh%kU$0%4_qO#tcD zOUukj1-XiWf#KhO28MLTg8a<9lGLL3;{2i#y=0J7d~!x=ayE#?z`)3$z`z9ZDTE6r z!O9sJ7(k%}R>KgVo0yr$z`!tt5vq#;xkLjQ!OR%U1o8>o5C#SY<kE}@R62kZA}au? zK`O~Wr3W)MHAtlxDE62cK_r?%3=9mCP$5>ZUCK}%Dh19k&=6y01eISPTT#{MA#s@) z;^Sey2MH@MFfqgz6lLa>q=C2$pmf8;5T96*p9$qdM65x61G`(Ls;Y`XFEt}Rttc@! Wl|c`iV0?Uhaz=J>Np^g0F#`a%idmun literal 0 HcmV?d00001 -- GitLab