000
12.02.2019, 01:42 Uhr
m4ltus
|
Moin Leute,
ich benötige mal eure Hilfe bei einem kleinen Projekt Und zwar möchte ich die oberen Werte der Spalte L unten in zufälliger Reihenfolge eintragen. siehe hier Zum zufälligen shuffeln habe ich bereits den Fisher Yates algorithmus gefunden. Funktioniert soweit auch. Das int arr[] möchte ich nun aber aus der Exceltabelle füttern und dann die Werte des gesuffleten Arrays in die Excel Tabelle eintragen. Der Link zum Excel-Demoprojekt von Uwe funktioniert bei mir leider nicht. Daher komme ich grade nicht weiter. hier nochmal meine Excel Liste Ist mein Vorhaben sehr kompliziert?
Danke schonmal für eure Antworten
C++: |
#include <stdlib.h> #include <time.h>
/// FISHER-YATES-SHUFFLE ALGORITHMUS /// C Program to shuffle a given array
#include <stdio.h> #include <stdlib.h> #include <time.h>
// A utility function to swap to integers void swap (int *a, int *b) { int temp = *a; *a = *b; *b = temp; }
// A utility function to print an array void printArray (int arr[], int n) { for (int i = 0; i < n; i++) printf("%d ", arr[i]); printf("\n"); }
// A function to generate a random permutation of arr[] void randomize ( int arr[], int n ) { // Use a different seed value so that we don't get same // result each time we run this program srand ( time(NULL) );
// Start from the last element and swap one by one. We don't // need to run for the first element that's why i > 0 for (int i = n-1; i > 0; i--) { // Pick a random index from 0 to i int j = rand() % (i+1);
// Swap arr[i] with the element at random index swap(&arr[i], &arr[j]); } }
// Driver program to test above function. int main() { int arr[] = { 75, 84, 90, 94, 98, 102, 106, 110, 116, 125, }; int n = sizeof(arr)/ sizeof(arr[0]); randomize (arr, n); printArray(arr, n);
return 0; }
|
Dieser Post wurde am 12.02.2019 um 01:46 Uhr von m4ltus editiert. |