Для этого назначения я должен написать функцию выбора-сортировки в другом файле, которая сортирует массивы в порядке возрастания для использования в моем драйвере. Я уже искал этот вопрос для моей ошибки, и я все еще не нашел ничего, что я видел, может помочь мне. Может кто-нибудь помочь мне?
Вот что у меня так далеко.
#include <iostream>
using namespace std;void *selectionsort(int values[], int size){for(int i=0; i<size-1; i++){
for(int j=0; j<size; j++){
if(values[i] < values[j]){
int temp = values[i];
values[i] = values[j];
values[j] = temp;}
}
}
}
Вот мой водитель, если нужно.
#include <stdlib.h>
#include <iostream>
#include "selection.cpp"
using namespace std;
#define ArraySize 10 //size of the array
#define Seed 1 //seed used to generate random number
int values[ArraySize];int main(){int i;
//seed random number generator
srand(Seed);
//Fill array with random intergers
for(i=0;i<ArraySize;i++)
values[i] = rand();
cout << "\n Array before sort" << endl;
for(i=0;i<ArraySize; i++)
cout << &values[]<< "\n";
//int* array_p = values;
cout << "\n Array after selection sort." << endl;
//Function call for selection sort in ascending order.
void *selectionsort(int values[], int size);
for (i=0;i<ArraySize; i++)
cout << &values[] << "\n";//system("pause");
}
Ваша функция не пуста, измените ее на
void selectionsort(int values[], int size){
Дополнительно: Ваша функция возвращает пустой указатель, если вы его так определили. И пустой указатель — это указатель, который может указывать на … что угодно.
И, конечно же, посмотрите ответ @ brokenfoot, чтобы узнать, как вызывать функцию.
int main()
означает, что возвращает int. ТАК, перед вашей конечной скобкой в главном, добавьте return 0;
selectionsort()
функция, сделать его недействительным:void selectionsort(int values[], int size)
selectionsort(values,size);