quinta-feira, 12 de abril de 2018

Resolução da Dinamica 003

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