diff --git a/DEV.1.1/divers/cm3.1.c b/DEV.1.1/divers/cm3.1.c deleted file mode 100644 index c0863d2..0000000 --- a/DEV.1.1/divers/cm3.1.c +++ /dev/null @@ -1,46 +0,0 @@ -#include -#include -#include - -/* Fonction pour traiter l'image */ -void modifier_image_pgm(const char *nom_fichier) { - FILE *fichier; - char ligne[256]; - int largeur, hauteur, niveaux, x, y; - - fichier = fopen(nom_fichier, "r+"); - if (fichier == NULL) { - fprintf(stderr, "Erreur: Impossible d'ouvrir le fichier\n"); - exit(EXIT_FAILURE); - } - - /* Lire l'en-tête du fichier PGM */ - fgets(ligne, sizeof(ligne), fichier); /* Lire le format (P2) */ - fgets(ligne, sizeof(ligne), fichier); /* Lire le commentaire */ - fscanf(fichier, "%d %d", &largeur, &hauteur); - fscanf(fichier, "%d", &niveaux); - - /* Modifier les pixels d'intensité 3 au centre de l'image */ - for (y = 0; y < hauteur; y++) { - for (x = 0; x < largeur; x++) { - int pixel; - fscanf(fichier, "%d", &pixel); - if (pixel == 3 && x > 0 && x < largeur - 1 && y > 0 && y < hauteur - 1) { - fseek(fichier, -2, SEEK_CUR); - fprintf(fichier, "5 "); - } - } - } - - fclose(fichier); -} - -int main(int argc, char *argv[]) { - if (argc != 2) { - fprintf(stderr, "Usage: %s fichier.pgm\n", argv[0]); - return EXIT_FAILURE; - } - - modifier_image_pgm(argv[1]); - return EXIT_SUCCESS; -} diff --git a/DEV.1.1/divers/cm3.2.c b/DEV.1.1/divers/cm3.2.c deleted file mode 100644 index dcf3bd7..0000000 --- a/DEV.1.1/divers/cm3.2.c +++ /dev/null @@ -1,37 +0,0 @@ -#include -#include - -/* Fonction récursive pour trouver le maximum */ -int trouver_maximum(int n, int valeurs[]) { - if (n == 1) { - return valeurs[0]; - } - int max_suivant = trouver_maximum(n - 1, valeurs + 1); - return (valeurs[0] > max_suivant) ? valeurs[0] : max_suivant; -} - -int main(int argc, char *argv[]) { - int i, n; - int *valeurs; - - if (argc < 2) { - fprintf(stderr, "Usage: %s nombre1 nombre2 ...\n", argv[0]); - return EXIT_FAILURE; - } - - n = argc - 1; - valeurs = (int*)malloc(n * sizeof(int)); - if (valeurs == NULL) { - fprintf(stderr, "Erreur d'allocation mémoire\n"); - return EXIT_FAILURE; - } - - for (i = 0; i < n; i++) { - valeurs[i] = atoi(argv[i + 1]); - } - - printf("%d\n", trouver_maximum(n, valeurs)); - - free(valeurs); - return EXIT_SUCCESS; -} diff --git a/DEV.1.1/divers/cm3.3.c b/DEV.1.1/divers/cm3.3.c deleted file mode 100644 index 7ec8791..0000000 --- a/DEV.1.1/divers/cm3.3.c +++ /dev/null @@ -1,89 +0,0 @@ -#include -#include -#include - -/* Structure d'un nœud de la liste chaînée */ -typedef struct Node { - int digit; - struct Node *next; -} Node; - -/* Fonction pour ajouter un chiffre à la fin de la liste chaînée */ -Node* ajouter_chiffre(Node *head, int digit) { - Node *new_node = (Node*)malloc(sizeof(Node)); - if (new_node == NULL) { - fprintf(stderr, "Erreur d'allocation memoire\n"); - exit(EXIT_FAILURE); - } - new_node->digit = digit; - new_node->next = NULL; - if (head == NULL) { - return new_node; - } - Node *temp = head; - while (temp->next != NULL) { - temp = temp->next; - } - temp->next = new_node; - return head; -} - -/* Fonction pour convertir une chaîne en liste chaînée */ -Node* convertir_en_liste(const char *nombre) { - Node *head = NULL; - int i; - for (i = 0; nombre[i] != '\0'; i++) { - head = ajouter_chiffre(head, nombre[i] - '0'); - } - return head; -} - -/* Fonction pour afficher la liste chaînée */ -void afficher_liste(Node *head) { - while (head != NULL) { - printf("%d", head->digit); - head = head->next; - } -} - -/* Fonction pour additionner deux listes chaînées */ -Node* additionner_listes(Node *l1, Node *l2) { - Node *resultat = NULL; - int retenue = 0; - - while (l1 != NULL || l2 != NULL || retenue) { - int somme = retenue; - if (l1 != NULL) { - somme += l1->digit; - l1 = l1->next; - } - if (l2 != NULL) { - somme += l2->digit; - l2 = l2->next; - } - resultat = ajouter_chiffre(resultat, somme % 10); - retenue = somme / 10; - } - return resultat; -} - -/* Fonction principale */ -int main(int argc, char *argv[]) { - Node *num1; - Node *num2; - Node *somme; - - if (argc != 3) { - fprintf(stderr, "Usage: %s nombre1 nombre2\n", argv[0]); - return EXIT_FAILURE; - } - - num1 = convertir_en_liste(argv[1]); - num2 = convertir_en_liste(argv[2]); - - somme = additionner_listes(num1, num2); - afficher_liste(somme); - printf("\n"); - - return EXIT_SUCCESS; -}