Я начинаю уроки языка C, в частности, функции. Моя задача - сортировать структуру массивов по числовому значению, в этом случае это значение переменной «возраст».Функция сортировки пузырьков в C
Я не уверен, как должен прототип принимать правильные аргументы и куда идти оттуда. Было бы высоко оценено некоторые рекомендации. Заранее спасибо.
#include <stdio.h>
#include <stdlib.h>
#define STUDENTS 5 //Maximum number of students to be saved.
#define LENGTH 20 //Maximum length of names.
struct person { //Setting up template for 'person'
char first[LENGTH];
char last[LENGTH];
int age;
};
void bubblesort(int, int); //Prototyping function for sorting structures.
int main(void) {
struct person student[STUDENTS] = { //Array of person structures.
{"Person", "One", 21},
{"Person", "Two", 18},
{"Person", "Three",20},
{"Person", "Four", 17},
{"Person", "Five", 16}
};
int i; //For loop counter.
int n=5; //For loop variable. N is equal to the # of entries in the struct.
printf("Here is an unsorted list of students: \n");
for(i=0; i<n; i++)
printf("%s %s is %d years old. \n", student[i].first, student[i].last, student[i].age);
//Sort students by age.
//Print sorted list.
return 0;
}
'недействительным BubbleSort (int, int); 'параметр' int, int' ?? Что вы сортируете? – BLUEPIXY
Я сортирую веки, так что 21, 18, 20, 17, 16. Как я уже сказал, я не совсем уверен, как сказать функции принять эти аргументы. – alldavidsluck
Например, 'void bubblesort (struct person [], int start_index, int end_index);' Обращение к qsort Если вы находитесь в чем-то общем. – BLUEPIXY