Berikut adalah codingan untuk mengshuffle isi array dalam bahasa C
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void printArray(int array[], int n)
{
for(int i=0; i<n; i++)
{
printf("%d ",array[i]);
}
printf("\n");
}
void shuffleArray(int array[], int n)
{
int temp, index;
for(int i=0; i<n; i++)
{
index = rand()%n;
temp = array[index];
array[index] = array[i];
array[i] = temp;
}
}
int main()
{
int n;
int array[] = {12,14,15,23,25,27};
n = 6;
srand(time(NULL));
printf("List Array Before:\n");
printArray(array,n);
shuffleArray(array,n);
printf("List Array After:\n");
printArray(array,n);
getchar();
return 0;
}
Pertama definisikan array berukuran 6 dengan isi 12, 14, 15, 23, 25, dan 27. Kemudian kita gunakan function srand atau seed random untuk membuat seeding random berdasarkan local time. Kemudian kita print isi array sebelum diacak. Lalu dishuffle dengan lakukan iterasi sebanyak ukuran array dan tiap iterasi pilih index array secara acak dengan menggunakan function rand() yang dibatasi seukuran isi array (Jika rand()%10 berarti random antara 0-10) dan lakukan swap dengan array ke iterasi itu. Terakhir setelah dishuffle print ulang lagi isi array tersebut.
Jawaban:
Gunakan fungsi rand() untuk mengacak index array
Penjelasan:
Berikut adalah codingan untuk mengshuffle isi array dalam bahasa C
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void printArray(int array[], int n)
{
for(int i=0; i<n; i++)
{
printf("%d ",array[i]);
}
printf("\n");
}
void shuffleArray(int array[], int n)
{
int temp, index;
for(int i=0; i<n; i++)
{
index = rand()%n;
temp = array[index];
array[index] = array[i];
array[i] = temp;
}
}
int main()
{
int n;
int array[] = {12,14,15,23,25,27};
n = 6;
srand(time(NULL));
printf("List Array Before:\n");
printArray(array,n);
shuffleArray(array,n);
printf("List Array After:\n");
printArray(array,n);
getchar();
return 0;
}
Pertama definisikan array berukuran 6 dengan isi 12, 14, 15, 23, 25, dan 27. Kemudian kita gunakan function srand atau seed random untuk membuat seeding random berdasarkan local time. Kemudian kita print isi array sebelum diacak. Lalu dishuffle dengan lakukan iterasi sebanyak ukuran array dan tiap iterasi pilih index array secara acak dengan menggunakan function rand() yang dibatasi seukuran isi array (Jika rand()%10 berarti random antara 0-10) dan lakukan swap dengan array ke iterasi itu. Terakhir setelah dishuffle print ulang lagi isi array tersebut.