// Tento soubor obsahuje funkci main. Provádění programu se tam zahajuje a ukončuje. // /****************************************************************************** Online C++ Compiler. Code, Compile, Run and Debug C++ program online. Write your code in this editor and press "Run" button to compile and execute it. http://www.cplusplus.com/reference/cstdlib/qsort/ *******************************************************************************/ #include #include #include #include "pch.h" #include using namespace std; typedef struct { int id; char jmeno[64], adresa[256], telefon[32]; } tClovek; tClovek zaznamy[] = { {0 , "James Bond", "Adresa", "Telefon"}, {25, "Bob Jones","Addres","Phone" }, {11, "Kutil tim","Holiwood","phoone 2"} }; int compareById(const void * a, const void * b) { return (*(int*)a - *(int*)b); } int compareByName2(const void *p1, const void *p2) { // return strcmp( ((tClovek*)p1)->jmeno, ((tClovek*)p2)->jmeno); } int compareByName(void *a, void *b) { const struct tClovek *pa = (const tClovek *)a; const struct tClovek *pb = (const tClovek *)b; int diff = strcmp(pa->jmeno, pb->jmeno); if (diff == 0) { if (pa->jmeno < pb->jmeno) diff = -1; else if (pa->jmeno > pb->jmeno) diff = +1; else diff = 0; } return diff; } int main() { int n; qsort(zaznamy, 3, sizeof(tClovek), compareById); for (n = 0; n < 3; n++) printf("%d .", zaznamy[n].id); qsort(zaznamy, 3, sizeof(tClovek), compareByName); for (n = 0; n < 3; n++) printf("%d jmeno:", zaznamy[n].jmeno); cout << "Hello World" << zaznamy[1].jmeno; return 0; }