Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
Кактус
67 / 67 / 19
Регистрация: 23.05.2012
Сообщений: 342
1

Подскажите как сделать задание, сортировка пузырьком

04.06.2012, 15:54. Показов 1261. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дана таблица прямого доступа, есть структура Таблицы, которая включает в себя 20 строковых переменных длинной по 100 каждая. Так же дан вектор из ключей (следственно их тоже 20), каждый ключ размера 5 (?!)байт, строковый(?!) тип.

Как мне отсортировать такое? В смысле, вот с обычными размерами типа int или обычный чар - я справлюсь, а вот размера 5 байт - ничего в голову не лезет. Я даже не могу представить как запись делать, не то что сравнение или обмен местами двух ключей.

Помогите, приведите примером кусок кода, где организовывается сравнение и запись таких нестандартных ключей! Благодарю заранее!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2012, 15:54
Ответы с готовыми решениями:

Сортировка пузырьком
Уже перепробовал кучу вариантов, никак не могу наладить программу, помогите пожалуйста с...

Сортировка пузырьком
Помогите пожалуйста написать программу,не получается,НА ЯЗЫКЕ СИ! Задание: В матрице n*m...

Сортировка пузырьком
здраствуйте я вот решил написать свою сортировку пузырьком но она не работает я не знаю почему...

Сортировка пузырьком
int j, c; for ( i = 0; i < SIZE-1; i ++ ) for ( j = SIZE-2; j >= i; j -- ) if ( array >...

5
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
04.06.2012, 19:37 2
Ну ключ на 5 байт можно например так описать:
C
1
unsigned char Key[5];
0
Кактус
67 / 67 / 19
Регистрация: 23.05.2012
Сообщений: 342
04.06.2012, 19:52  [ТС] 3
Цитата Сообщение от HighPredator Посмотреть сообщение
Ну ключ на 5 байт можно например так описать:
C
1
unsigned char Key[5];
Я так понимаю нужно структуру под ключ заводить и потом делать массив из этих структур? Окей, а как потом сравнивать его с другими ключами и записывать их?
0
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
04.06.2012, 19:59 4
Цитата Сообщение от eocron Посмотреть сообщение
Я так понимаю нужно структуру под ключ заводить
Вы где в приведенном коде нашли слово struct?
Цитата Сообщение от eocron Посмотреть сообщение
как потом сравнивать его с другими ключами и записывать их
Побайтово.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12832 / 7569 / 1764
Регистрация: 25.07.2009
Сообщений: 13,961
04.06.2012, 20:24 5
Цитата Сообщение от eocron Посмотреть сообщение
Я так понимаю нужно структуру под ключ заводить и потом делать массив из этих структур? Окей, а как потом сравнивать его с другими ключами и записывать их?
Да не, всё проще. Для удобства напишите функцию для обмена строк памяти, что-то вроде
C
1
2
3
4
5
6
7
8
9
10
void memswap(char * a, char * b, size_t cnt) {
    char tmp;
    while ( cnt-- ) {
        tmp = *a;
        *a = *b;
        *b = tmp;
        ++a;
        ++b;
    }
}
дальше при сортировке пузырьком используются два индекса, допустим i и j. Сортируете по ним массив с ключами, используя функцию memcmp() из string.h и сразу же массив строк. То есть, если в массиве с ключами должны поменяться keys[i] и keys[j], соответственно меняются strings[i] и strings[j].
0
Кактус
67 / 67 / 19
Регистрация: 23.05.2012
Сообщений: 342
04.06.2012, 20:43  [ТС] 6
Цитата Сообщение от easybudda Посмотреть сообщение
Да не, всё проще. Для удобства напишите функцию для обмена строк памяти, что-то вроде
C
1
2
3
4
5
6
7
8
9
10
void memswap(char * a, char * b, size_t cnt) {
    char tmp;
    while ( cnt-- ) {
        tmp = *a;
        *a = *b;
        *b = tmp;
        ++a;
        ++b;
    }
}
дальше при сортировке пузырьком используются два индекса, допустим i и j. Сортируете по ним массив с ключами, используя функцию memcmp() из string.h и сразу же массив строк. То есть, если в массиве с ключами должны поменяться keys[i] и keys[j], соответственно меняются strings[i] и strings[j].
Благодарю!
0
04.06.2012, 20:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2012, 20:43
Помогаю со студенческими работами здесь

Сортировка пузырьком
Стоит задача: Преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль...

Сортировка пузырьком
Добрый день уважаемые форумчане! Пожалуйста, помогите с решением одной задачки. Я начинающий...

Подскажите как сделать задание
Посчитать для каждой задачи средний балл по всем участникам, затем выбрать из четырех средних...

Сделать один цикл while. Сортировка пузырьком c#
using System; using System.Diagnostics; using System.Collections.Generic; using System.Linq;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru