def
This commit is contained in:
parent
a8c68f80e4
commit
833dd6b20c
23
numbers.c
23
numbers.c
@ -44,7 +44,9 @@ unsigned int* createNumbers(unsigned int len)
|
|||||||
{
|
{
|
||||||
isDuplicate = 0;
|
isDuplicate = 0;
|
||||||
i--;
|
i--;
|
||||||
}else{
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
array[i] = number;
|
array[i] = number;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -54,7 +56,8 @@ unsigned int* createNumbers(unsigned int len)
|
|||||||
int duplicatePosition1 = rand() % len;
|
int duplicatePosition1 = rand() % len;
|
||||||
int duplicatePosition2 = rand() % len;
|
int duplicatePosition2 = rand() % len;
|
||||||
|
|
||||||
while(duplicatePosition2 == duplicatePosition1){
|
while (duplicatePosition2 == duplicatePosition1)
|
||||||
|
{
|
||||||
duplicatePosition2 = rand() % len;
|
duplicatePosition2 = rand() % len;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -66,11 +69,19 @@ unsigned int* createNumbers(unsigned int len)
|
|||||||
// 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)
|
||||||
{
|
{
|
||||||
qsort(numbers, len, sizeof(int), compareFct);
|
unsigned int *copyNumbers = malloc(sizeof(int) * len);
|
||||||
|
for (int i = 0; i < len; i++)
|
||||||
|
{
|
||||||
|
copyNumbers[i] = numbers [i];
|
||||||
|
}
|
||||||
|
|
||||||
for(int i = 0; i < len-1; i++){
|
qsort(copyNumbers, len, sizeof(int), compareFct);
|
||||||
if(numbers[i] == numbers[i+1]){
|
|
||||||
return numbers[i];
|
for (int i = 0; i < len - 1; i++)
|
||||||
|
{
|
||||||
|
if (copyNumbers[i] == copyNumbers[i + 1])
|
||||||
|
{
|
||||||
|
return copyNumbers[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user