38 lines
864 B
C
38 lines
864 B
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
/* 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;
|
|
}
|