Oh, don't know what algorithm, I just do it my way actually.
Code:
/* AUTH: Kevin Strijbos DATE: 17/01/2012
DESCR: includes 2 functions that combine arrays
*/
#include <stdio.h>
#define MAX_LENGTH 10
void initializeArray (int numbers[], int *pointers[]);
void initializeMinima (int *pointers[]);
int main (void)
{
int numbers[MAX_LENGTH];
int *pointers[MAX_LENGTH];
int counter;
for (counter = 0; counter < MAX_LENGTH ;counter++)
{
printf("Give a number:\t\n");
scanf("%d", &numbers[counter]);
}
initializeArray(numbers,pointers);
for (counter = 0; counter < MAX_LENGTH ;counter++)
printf("Element %d:\t%d\n", counter, *pointers[counter]);
initializeMinima(pointers);
printf("-----------------------------------\n");
for (counter = 0; counter < MAX_LENGTH ;counter++)
printf("Element %d:\t%d\n", counter, *pointers[counter]);
return 0;
}
void initializeArray (int numbers[], int *pointers[])
{
int counter;
for (counter = 0; counter < MAX_LENGTH ;counter++)
pointers[counter] = &numbers[counter];
}
void initializeMinima (int *pointers[])
{
int *temp, index, minima, counter, smallCounter;
for (counter = 0; counter < MAX_LENGTH - 1 ;counter++)
{
minima = *pointers[counter];
index = counter;
for (smallCounter = counter + 1; smallCounter < MAX_LENGTH ;smallCounter++)
{
if (*pointers[smallCounter] < minima)
{
minima = *pointers[counter];
index = smallCounter;
}
}
/* swapping minima */
temp = pointers[counter];
pointers[counter] = pointers[index];
pointers[index] = temp;
}
}
Btw: copied the source code and created a new project, still no errors nor warnings.