diff --git a/myTP/exos/exo1 b/myTP/exos/exo1 index 3c7a594c631cf340dc110f33cd270e0c3d91b688..4830ca799654e3d0f8a0a5a01f89e063612725c9 100755 Binary files a/myTP/exos/exo1 and b/myTP/exos/exo1 differ diff --git a/myTP/exos/exo1.c b/myTP/exos/exo1.c index 5fd722573e69aacff05ec0af828226512165bbca..34afff77dc229dc9226d8f085b883167a6e84d74 100644 --- a/myTP/exos/exo1.c +++ b/myTP/exos/exo1.c @@ -1,20 +1,42 @@ #include <stdio.h> #include <stdlib.h> #include <math.h> +#include <stdbool.h> +#include <string.h> + int Prime(); int factoriel(int n); int perfect(int num); +bool palindrome(int n ,char* mot); +void swap(int* a,int *b); +void bubbleSort(int n, int tab[]); +void insertionSort(int n, int tab[]); int main(){ + int i; + int arr[] = { 64, 34, 25, 12, 22, 11, 90 }; + int n = sizeof(arr)/ sizeof(arr[0]); + + for (i = 0; i < n; i++) + printf("%d ", arr[i]); + //bubbleSort(n,arr); + insertionSort(n,arr); + printf("\nSorted array: \n"); + + for (i = 0; i < n; i++) + printf("%d ", arr[i]); + + + printf("N: %d",n); //printf("%u",Prime()); //printf("%u ",factoriel(4)); - perfect(0); + //perfect(0); - palindrome(0,"kayak"); + //palindrome(0,"kayadfk"); } @@ -69,21 +91,81 @@ int perfect(int num){ } } - bool palindrome(int n ,char* mot){ - length=strlen(mot)-1 + int len=strlen(mot)-(n+1); - if(mot[n]==mot[length]){ + if(mot[n]==mot[len]){ - if (index+1 ==len ||index==len){ + if (n+1 ==len ||n==len){ - printf("pal") + + return printf("pal"); } - palindrome(index+1,mot); + palindrome(n+1,mot); }else{ - printf("not pal") + printf("not pal"); + } + + + } + + +void swap(int* a,int *b){ + + int temp = *a; + *a = *b; + *b = temp; +} + +void bubbleSort(int n, int tab[]){ + + + int i,j; + bool swapped; + + for (i=0;i<n-1;i++){ + + swapped = false; + for(j=0;j<n-1;j++){ + + if(tab[j]>tab[j+1]){ + + swap(&tab[j],&tab[j+1]); + swapped =true; + } + } + + if(!swapped){ + + break; + } + + + } +} + +void insertionSort(int n, int tab[]){ + int i; + bool swapped; + + for (i=0;i<n-1;i++){ + + int tmp = tab[i]; + int pos = i; + + while(i>0 && tab[pos-1]>tmp){ + + tab[pos] = tab[pos-1]; + pos-=1; + + } + tab[pos]= tmp; + } + + + - } \ No newline at end of file +} \ No newline at end of file