Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2009, 22:15   #1
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию c++ сортирование

Задание:
есть колода 36 карт(обычные игральные карты)
вытаскивается 7 карт случайным образом без повторения
нужно узнать если среди них пары(две карты одного достоинства), тройки(три карты одного достоинства), четверки(четыре карты одного достоинства) в отдельности(те если есть тройка => это уж не двойка) для начала....

Что я делаю:
1) создаю массив из 36 элементов по порядку(0,1,2.....35)
и второй массив из 7 элементов
2) случайным образом перемешиваю его
3) достаю 7 карт (0,1,2,....6)
записываем во второй массив туда значение
0карты %9, 1 карты %9 и тд...
4) с парами я еще разобрался, а вот с тройками и четверками хз(
dampirik вне форума Ответить с цитированием
Старый 15.10.2009, 22:59   #2
LeBron
Форумчанин
 
Регистрация: 10.10.2009
Сообщений: 680
По умолчанию

Саоме короткое решение таких задач стандартно: сначала сортируем вытащеные карты по достоинству, потом просматриваем на нужные нам комбианации. В отсортированном массиве все они определеяются довольно однозначно - и нету необходимости пребирать множество комбинаций. Если есть карты, отдаленные на 3 и в то же время равны, то есть 4ка (пример - если после сортировки равны 1ая и 4ая, или 2ая и 5ая, или 3ая и 6ая, или 4ая и 7ая (одним проходом цикла, смотреть на карту с индексированным номером)). Для троек - то же самое, только отдаленность в массиве 2. Чтобы не посчитать 4ку к 3кам и к паре 2ек, можно, к примеру, наложить дополнительное условие (тоесть, тройка, если карта равна карте, которая за 2 перед ней, и не равна карте, которая после нее и карте, которая за 3 перед ней).
LeBron вне форума Ответить с цитированием
Старый 16.10.2009, 02:20   #3
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

Кстати отличная мысль проходить "скачками"....
Может еще у кого нить есть стоющие мыслишки?
dampirik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортирование sqwerty Общие вопросы C/C++ 1 06.04.2009 10:08
Сортирование масивов за один проход NightWishMaster Паскаль, Turbo Pascal, PascalABC.NET 10 18.10.2007 08:05