X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=TP_7.5%2Fexo1%2Fexo1.c;fp=TP_7.5%2Fexo1%2Fexo1.c;h=0000000000000000000000000000000000000000;hb=b10f2dc98106b52e190abb4041be21880b2a391c;hp=b57e2ac794b94aa56b6209d46d1a23b852f724cf;hpb=5c1bf74dec4517e08461e2c44ad74d8e37dd471b;p=TD_C.git diff --git a/TP_7.5/exo1/exo1.c b/TP_7.5/exo1/exo1.c deleted file mode 100644 index b57e2ac..0000000 --- a/TP_7.5/exo1/exo1.c +++ /dev/null @@ -1,81 +0,0 @@ -#include -#include - -//FIXME: Comment the code !!! - -void promptValue(int* addr) { - scanf("%d", addr); -} - -// The efficiency of this swap alternative is debatable .. -void xorSwap (int *v1, int *v2) { - if (v1 != v2) { - *v1 ^= *v2; - *v2 ^= *v1; - *v1 ^= *v2; - } -} - -void swap(int* v1, int* v2) { - if (v1 != v2) { - int tmp = *v1; - *v1 = *v2; - *v2 = tmp; - } -} - -void displayArray(int* array, int count) { - for (int i = 0; i < count; i++) { - printf("Value in array at index[%d]= %d\n", i, array[i]); - } -} - -bool sortFirst(int* array, int length) { - bool rt = false; - // This loop could probably be replaced by a while loop with conditions - // on the array values permutation AND the iteration value, later ... - for (int i = 0; i < length-1; i++) { - if (array[i] > array[i+1]) { - swap(&array[i], &array[i+1]); - //xorSwap(&array[i], &array[i+1]); - if (!rt) { rt = true; }; - } - } - return rt; -} - -void sortArray(int* array, int length) { - bool rt; - do { - rt = sortFirst(array, length); - } while (rt); - -} - -int main() { - int tab_length = 10; - int tab[tab_length]; - for (int i = 0; i < tab_length; i++) { - tab[i] = 0; - } - - for (int i = 0; i < tab_length; i++) { - printf("Enter integer value at array's index[%d]? ", i); - /* En langage C, une ligne doit être terminée par le caractère '\n'. Tant que */ - /* la ligne n'est pas terminée et que le tampon associé au fichier n'est pas plein, */ - /* les caractères transmis ne seront pas effectivement écrits mais tout simplement */ - /* placés dans le tampon. On peut cependant forcer le vidage de ce tampon à l'aide */ - /* de la fonction fflush. */ - fflush(stdout); - promptValue(&tab[i]); - } - - printf("\nView array content unsorted:\n"); - displayArray(tab, tab_length); - sortArray(tab, tab_length); - printf("\nNow, sorting the array...\n"); - printf("\nView array content sorted:\n"); - displayArray(tab, tab_length); - - return 0; -}