Vous devez vous connecter pour exécuter votre code.
Premiere occurrence du minimum
Implementez la fonction premmin qui prend un tableau et sa taille, et retourne l'indice de la premiere occurrence du minimum.
N'oubliez pas l'invariant de boucle et la quantite de controle.
Invariant attendu :
1 <= k <= n && j = premmin(x[0..k-1])
Quantité de contrôle attendue :
k
#include <stdio.h>
// @pre: n >= 0
// @post: retourne l'indice du minimum
int premmin(int x[], int n) {
if (n == 0) return -1;
int j = 0, k = 1;
// @invariant: 1 <= k <= n && j = premmin(x[0..k-1])
// @variant: k
while (k < n) {
if (x[k] < x[j]) j = k;
k++;
}
return j;
}
int main() {
int n;
scanf("%d", &n);
int arr[1000];
for (int i = 0; i < n; i++) scanf("%d", &arr[i]);
printf("%d\n", premmin(arr, n));
return 0;
}