Форум программистов, компьютерный форум CyberForum.ru

Функция qsort для сортировки массивов структур - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Лифт http://www.cyberforum.ru/cpp-beginners/thread409632.html
В доме Вилли установили скоростной лифт новой экспериментальной модели. В этом лифте кнопки с номерами этажей заменены двумя другими кнопками. При нажатии на первую кнопку лифт поднимается на один этаж вверх, а при нажатии на вторую – опускается на один этаж вниз. Младшему брату Вилли Дилли очень нравится кататься на новом лифте. Он катается на нём до тех пор, пока не побывает на каждом из...
C++ Решить задачку Когда встречаю эпсилон возникают проблемы, не пойму что это и как мудрить , знаю что надо использовать float и int все ) Умножить, сложить , квадрат и факториал это без проблем а это хз как мудрить, помогите решить и плз объясните )) Вот задача : картинка 13 кб. http://s017.***********/i437/1112/34/dfafd2b4a0b9.png http://www.cyberforum.ru/cpp-beginners/thread409621.html
C++ Неправильно работает конструктор копирования list, почему?
#include <windows.h> #include <stdio.h> #include <list> #include <iterator> #include <iostream> using namespace std; list <int> f () { list <int> lisc;
C++ Конвертация типов с++
int p=255; string s=p; в результате s='я', а как внести p в s как число, чтобы s={'2','5','5'} ? только посимвольно или можно как-то проще ?
C++ Телефонный справочник http://www.cyberforum.ru/cpp-beginners/thread409614.html
Прога читает из файла, есть поиск по имени и по адресу. Никак не могу реализовать поиск по номеру. Помогите пожалуйста. Вот код: #include <iostream> #include <fstream> #include <vector> #include <string> using namespace std; class Number
C++ Раскрутка матрицы не сооброжу какой цикл(for) и какую формулу задать в printf чтоб раскрутить матрицу- 1 7 13 15 10 2 6 14 11 9 3 5 16 12 8 4 должно выводиться так - 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include <stdio.h> #include <stdlib.h> подробнее

Показать сообщение отдельно
Dark2012
0 / 0 / 0
Регистрация: 03.12.2011
Сообщений: 43
17.12.2011, 14:09     Функция qsort для сортировки массивов структур
В общем есть структура

C++
1
2
3
4
5
6
struct User
{
    int id;
    char nickname[51];
    int karma;
};
далее я создаю массив структур, ну допустим из 10 элементов

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int main()
{
  User user[10];
    
  for (int i = 0; i < 10; i++)
  {
    cout << "id  ";
    cin >> user[i].id;
    cout << "nickname  ";
    cin >> user[i].nickname;
    cout << "karma  ";
    cin >> user[i].karma;
    cout << endl << endl;
  }
  cout << endl;
  for (int i = 0; i < 10; i++)
  {
    cout << user[i].id << "  ";
    cout << user[i].nickname << "  ";
    cout << user[i].karma << endl << "  ";
    cout << endl << endl;
  }

Далее мне нужно отсортировать этот массив из структур по полю karma НО c помощью функции qsort
qsort(user, 10, sizeof(user), intCmp)

сложность в том что qsort вызывает внутри себя функцию (я назвал ее intCmp) которая принимает параметры const void*
эта функция и выполняет сравнение, ну допустим по увеличению (это неважно)
в Общем я не понимаю как можно вытащить именно поле user.karma

Как отсортировать данный массив без этой функции я знаю, интересует именно с помощью qsort
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru