Merge remote-tracking branch 'refs/remotes/origin/main'
This commit is contained in:
commit
61618e00bf
41
numbers.c
41
numbers.c
@ -5,11 +5,11 @@
|
||||
#include "numbers.h"
|
||||
#include "bintree.h"
|
||||
|
||||
//TODO: getDuplicate und createNumbers implementieren
|
||||
// TODO: getDuplicate und createNumbers implementieren
|
||||
/* * * Erzeugen eines Arrays mit der vom Nutzer eingegebenen Anzahl an Zufallszahlen.
|
||||
* Sicherstellen, dass beim Befüllen keine Duplikate entstehen.
|
||||
* Duplizieren eines zufälligen Eintrags im Array.
|
||||
* in `getDuplicate()`: Sortieren des Arrays und Erkennen der doppelten Zahl durch Vergleich benachbarter Elemente. */
|
||||
* Sicherstellen, dass beim Befüllen keine Duplikate entstehen.
|
||||
* Duplizieren eines zufälligen Eintrags im Array.
|
||||
* in `getDuplicate()`: Sortieren des Arrays und Erkennen der doppelten Zahl durch Vergleich benachbarter Elemente. */
|
||||
|
||||
// Returns len random numbers between 1 and 2x len in random order which are all different, except for two entries.
|
||||
// Returns NULL on errors. Use your implementation of the binary search tree to check for possible duplicates while
|
||||
@ -17,10 +17,41 @@
|
||||
unsigned int *createNumbers(unsigned int len)
|
||||
{
|
||||
|
||||
int n;
|
||||
printf("Wie viele Zufallszahlen sollen erstellt werden? ");
|
||||
scanf("%d", &n);
|
||||
|
||||
int array[n];
|
||||
srand(time(NULL)); // Zufallsgenerator initialisieren
|
||||
|
||||
for (int i = 0; i < n; i++)
|
||||
{
|
||||
int zahl;
|
||||
char vorhanden;
|
||||
|
||||
do
|
||||
{
|
||||
vorhanden = 0;
|
||||
zahl = rand() % n; // Zufallszahl zwischen 1 und 100
|
||||
|
||||
// Prüfen, ob Zahl schon im Array existiert
|
||||
for (int j = 0; j < i; j++)
|
||||
{
|
||||
if (array[j] == zahl)
|
||||
{
|
||||
vorhanden = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
} while (vorhanden); // solange wiederholen, bis Zahl einzigartig ist
|
||||
|
||||
array[i] = zahl;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Returns only the only number in numbers which is present twice. Returns zero on errors.
|
||||
unsigned int getDuplicate(const unsigned int numbers[], unsigned int len)
|
||||
{
|
||||
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user