generated from freudenreichan/info2Praktikum-DobleSpiel
numbers
This commit is contained in:
parent
541ba30208
commit
9114f6b5fc
15
numbers.c
15
numbers.c
@ -5,7 +5,9 @@
|
|||||||
#include "numbers.h"
|
#include "numbers.h"
|
||||||
#include "bintree.h"
|
#include "bintree.h"
|
||||||
|
|
||||||
//TODO: getDuplicate und createNumbers implementieren
|
unsigned int RANDOM_SEED = 0;
|
||||||
|
|
||||||
|
// TODO: getDuplicate und createNumbers implementieren
|
||||||
/* * * Erzeugen eines Arrays mit der vom Nutzer eingegebenen Anzahl an Zufallszahlen.
|
/* * * Erzeugen eines Arrays mit der vom Nutzer eingegebenen Anzahl an Zufallszahlen.
|
||||||
* Sicherstellen, dass beim Befüllen keine Duplikate entstehen.
|
* Sicherstellen, dass beim Befüllen keine Duplikate entstehen.
|
||||||
* Duplizieren eines zufälligen Eintrags im Array.
|
* Duplizieren eines zufälligen Eintrags im Array.
|
||||||
@ -17,10 +19,19 @@
|
|||||||
unsigned int *createNumbers(unsigned int len)
|
unsigned int *createNumbers(unsigned int len)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
unsigned int *numbers = malloc(sizeof(unsigned int) * len);
|
||||||
|
|
||||||
|
if (RANDOM_SEED == 0)
|
||||||
|
{
|
||||||
|
srand(time(NULL));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
srand(12345);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns only the only number in numbers which is present twice. Returns zero on errors.
|
// 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)
|
unsigned int getDuplicate(const unsigned int numbers[], unsigned int len)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -1,10 +1,14 @@
|
|||||||
#ifndef NUMBERS_H
|
#ifndef NUMBERS_H
|
||||||
#define NUMBERS_H
|
#define NUMBERS_H
|
||||||
|
|
||||||
|
extern unsigned int RANDOM_SEED;
|
||||||
|
|
||||||
// Returns len random numbers between 1 and 2x len in random order which are all different, except for two entries.
|
// 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
|
// Returns NULL on errors. Use your implementation of the binary search tree to check for possible duplicates while
|
||||||
// creating random numbers.
|
// creating random numbers.
|
||||||
|
|
||||||
unsigned int *createNumbers(unsigned int len);
|
unsigned int *createNumbers(unsigned int len);
|
||||||
|
//funktion mit srand(time)
|
||||||
|
|
||||||
// Returns only the only number in numbers which is present twice. Returns zero on errors.
|
// 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);
|
unsigned int getDuplicate(const unsigned int *numbers, unsigned int len);
|
||||||
|
|||||||
37
test__numbers.c
Normal file
37
test__numbers.c
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <assert.h>
|
||||||
|
#include "numbers.h"
|
||||||
|
|
||||||
|
void test_enough_numbers() {
|
||||||
|
unsigned int len = 20;
|
||||||
|
unsigned int *numbers = createNumbers(len);
|
||||||
|
|
||||||
|
if(*numbers == NULL)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void test_no_duplicates_except_one() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void test_is_duplicated() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(void) {
|
||||||
|
UNITY_BEGIN();
|
||||||
|
|
||||||
|
RUN_TEST(test_enough_numbers);
|
||||||
|
RUN_TEST(test_is_duplicated);
|
||||||
|
RUN_TEST(test_no_duplicates_except_one);
|
||||||
|
|
||||||
|
int result = UNITY_END();
|
||||||
|
print_test_result(result);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user