Основы программирования. Лабораторная работа. Добавляем таблицу рекордов. Массив записей. Сортировка
Содержание
- 2. Таблица рекордов Добавим в игру таблицу рекордов. Поле для ввода имени и кнопка
- 3. Таблица рекордов Добавим в игру таблицу рекордов. Отображение лучших результатов в виде таблицы
- 4. Поле для ввода имени и кнопка - создание LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam,
- 5. Реакция на нажатие кнопки case WM_COMMAND: { if (lParam == (LPARAM)hBtn) // если нажали на кнопку
- 6. Реакция на нажатие кнопки (2) else { // Этот код был ранее – он отрабатывает выбор
- 7. Управление клавиатурой Переключение режимов отображения // Новая глобальная переменная int showMode = 1; // 1 -
- 8. Управление клавиатурой Изменение порядка рекордов в таблице рекордов case VK_F1: SelectSortingDown(); InvalidateRect(hWnd, NULL, TRUE); break; case
- 9. Собственно таблица рекордов // Структура с информацией о рекорде struct Record { char name[20]; int gold;
- 10. Добавление рекорда в конец (без сортировки) void addRecord(char name[]) { //if (numRecords >= MAX_NUM_RECORDS) { //numRecords
- 11. Сравнение двух рекордов int CompareRecords(int index1, int index2) { if (records[index1].gold return -1; if (records[index1].gold >
- 12. Добавление рекорда с сортировкой void InsertRecord(char name[]) { strcpy(records[numRecords].name, name); records[numRecords].gold = gold; records[numRecords].steps = steps;
- 13. Добавление рекорда с сортировкой (2) // Продвигаем запись к началу массива - если в ней //
- 14. Отображение таблицы рекордов (функция) void DrawRecords(HDC hdc) { HFONT hFont; hFont = CreateFont(16, 0, 0, 0,
- 15. Отображение таблицы рекордов (вызов) case WM_PAINT: { PAINTSTRUCT ps; HDC hdc = BeginPaint(hWnd, &ps); // TODO:
- 16. Сортировка (массива) Базовые методы сортировки: Сортировка выбором Сортировка пузырьком Сортировка вставками
- 17. Сортировка вставками https://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B2%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B0%D0%BC%D0%B8 https://habr.com/ru/post/181271/ Реализации алгоритмов/Сортировка/Вставками - https://ru.wikibooks.org/wiki/%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2/%D0%A1%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0/%D0%92%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B0%D0%BC%D0%B8
- 18. Сортировка пузырьком https://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0_%D0%BF%D1%83%D0%B7%D1%8B%D1%80%D1%8C%D0%BA%D0%BE%D0%BC http://algolist.ru/sort/bubble_sort.php Реализации алгоритмов/Сортировка/Пузырьком- https://ru.wikibooks.org/wiki/%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2/%D0%A1%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0/%D0%9F%D1%83%D0%B7%D1%8B%D1%80%D1%8C%D0%BA%D0%BE%D0%BC
- 19. Сортировка выбором https://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%BE%D0%BC https://habr.com/ru/post/422085/ Реализации алгоритмов/Сортировка/Выбором - https://ru.wikibooks.org/wiki/%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%BE%D0%B2/%D0%A1%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0/%D0%92%D1%8B%D0%B1%D0%BE%D1%80%D0%BE%D0%BC
- 20. Реализация сортировки выбором для рекордов void SelectSortingDown() { int i; for (i = 0; i int
- 21. Реализация сортировки пузырьком для рекордов void BubbleSortingUp() { int i; for (i = 0; i int
- 22. Задача 1 Реализовать сортировку по возрастанию, используя один из алгоритмов: Сортировка вставкой Сортировка пузырьком Сортировка выбором
- 23. Задача 2 Реализовать сортировку по убыванию, используя один из алгоритмов: Сортировка вставкой Сортировка пузырьком Сортировка выбором
- 24. Задача 3 Реализовать программу обеспечивающую выполнение следующих действий: Ввод массива с клавиатуры (или инициализация в самой
- 26. Скачать презентацию