Eis um dos possíveis códigos que implementam o algoritmo de Fisher-Yates em C. Acredito que esse ficou bem legalzinho :D
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(){
int n, m, i, aux;
srand(time(NULL));
scanf("%d", &n);
int vetor[n];
printf("VETOR ORDENADO: ");
for(i = 1; i <= n; i++){
vetor[i - 1] = i;
printf("%d ", vetor[i -1]);
}
printf("\n");
m = n - 1;
while(m){
i = rand() % m;
aux = vetor[i];
vetor[i] = vetor[m];
vetor[m] = aux;
m--;
}
printf("VETOR EMBARALHADO: ");
for(i = 0; i < n; i++){
printf("%d ", vetor[i]);
}
return 0;
}
Nenhum comentário:
Postar um comentário