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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
SPV
0 / 0 / 0
Регистрация: 18.10.2009
Сообщений: 10
#1

Обработка результатов теннисных матчей. - C++

19.10.2009, 21:43. Просмотров 1265. Ответов 0
Метки нет (Все метки)

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

В текстовом файле задан список участников теннисного турнира. Матчи проводятся по кубковой системе до 3 выигранных сетов одним из участников (3...5 сетов). Матч состоит из сетов, сет из геймов, а гейм - из розыгрышей мячей.

В матче побеждает тот, кто первым выиграет 3 сета. Сет состоит из геймов. Для победы в сете нужно выиграть 6 геймов (как минимум), но так, чтобы противник выиграл хотя бы на 2 гейма меньше. Если этого не получается и счет становится 6:6, проводится тайм-брейк. В итоге победный счет в сете может быть 6:0, 6:1, 6:2, 6:3, 6:4, 6:5, 7:0, 7:6. Если дело дойдет до 5-го сета, в нем тайм-брейк не проводится, а игра продолжается до разницы в 2 выигранных гейма (например, счет может быть 16:14).
Гейм подобен сету. Для победы в гейме нужно набрать минимум 4 очка, но так, чтобы у противника было хотя бы на 2 очка меньше. При этом за каждое очко в гейме набирается определенное количество баллов. Счет в неоконченном гейме может быть:
0/0, 15/0, 30/0, 40/0, 0/15, 15/15, 30/15, 40/15, 0/30, 15/30, 30/30, 40/30, 0/40, 15/40, 30/40, ровно (40/40), меньше, больше. После счета 40/40 принято называть не числа, а “ровно”, “меньше” и “больше” - с точки зрения подающего игрока.
В течение одного гейма все мячи подает один и тот же игрок. В следующем гейме подающий меняется. Кто подает первым, определяется розыгрышем одного мяча. В следующем сете начинает подавать тот игрок, который в предыдущем сете принимал последним, независимо от того, был гейм обычным или тайм-брейком. При розыгрыше 6 геймов в сете, независимо от счета, игроки меняются сторонами корта.
Правила тайм-брейка:
На тайм-брейке нужно набрать не меньше 7 очков (выиграть отдельных розыгрышей мяча), но так, чтобы у противника было хотя бы на 2 очка меньше. Первый игрок подает 1 раз, следующие 2 мяча подает соперник, затем 2 мяча опять 1-й игрок и так далее.
И в обычном гейме и на тайм-брейке существует опасность двойной ошибки (подача в сетку или в аут). Одиночная ошибка прощается, но за двойную очко начисляется сопернику.

Входные данные:
Файл содержит результаты каждого розыгрыша мяча всех матчей турнира, уже проведенных или еще незаконченных. Самый первый розыгрыш определяет, кто будет подавать первым. Затем начинаются розыгрыши геймов. Все содержимое файла - это наборы символов 1 (если мяч выиграл первый игрок пары) и 2 (если второй). Программа должна по шагам отображать счет каждого гейма и сета после каждого розыгрыша. Когда матч будет закончен, начинается новый матч, пока не закончатся входные данные. Пары игроков берутся из файла со списком участников (их количество - 2 в степени N). Если список участников закончится раньше, чем данные о розыгрышах, формируются новые пары из победителей первого тура и т.д. Когда останется 1 участник, остальные данные нужно отбросить.

Выходные данные:
Список завершенных матчей с результатами вида:
------------------------------------------------
|1/8 финала |
|Агасси - Сафин 6:4 2:6 6:7 3:6 |
|Куэртен - Крайчек 7:5 6:1 6:2 |
|... |
|Финал |
|Сафин - Эдберг 6:4 4:6 5:7 6:3 9:7 |
------------------------------------------------
|Победитель турнира: Сафин |
------------------------------------------------
Если данные закончатся раньше последняя строка: “турнир продолжается...”
Для заполнения файла розыгрышей лучше написать программу случайной генерации чисел.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2009, 21:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обработка результатов теннисных матчей. (C++):

Написать программу результатов матчей футбольных команд (Используя контейнер map) - C++
Помогите пожалуйста, никогда не имела дела с контейнерами((( Задание: футбольные команды (через map). Пользователь вводит название...

Определить количество выигранных и проигранных матчей - C++
Ребят помогите сделать проги на СИ(не си++). вот условие: a) Статическая память. Двумерный массив. Дан массив из 2 строк и 22 столбцов. В...

Определить количество выигранных и проигранных матчей - C++
Помогите! a) Статическая память. Двумерный массив. Дан массив из 2 строк и 22 столбцов. В 1-ой строке информация о забитых мячах...

Вывести ФИО игрока с максимальным количеством матчей - C++
Дана база даных игрока , вывести ФИО игрока с максимальным количеством матчей. #include<iostream.h> #include <string.h> ...

Разработка программы для расчета футбольных матчей - C++
Надо разработать программу для расчета футбольных матчей Что должно быть в программе: Выбор количества команд (от 10 до 20). Выбор...

В одном массиве записано количество мячей заброшенных баскетбольной командой в каждом из 15 матчей - C++
помогите решить задачу на С++ 3/3 В одном массиве записано количество мячей заброшенных баскетбольной командой в каждом из 15 матчей, в...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.10.2009, 21:43
Привет! Вот еще темы с ответами:

Генератор результатов футбольных матчей - PHP
Здравствуйте, хочу попросить помощи в написание/ресурсов/советов одного интересующего меня php кода (Таком себе упрощенному генераторе...

Обработка результатов экзамена. - C++ Builder
Нужна программа которая которая обрабатывает результаты экзамена. Для каждой оценки программа должна вычислить процент от общего количества...

Обработка результатов поиска - PHP
Здравствуйте Прошу помощи в следующей проблеме. Имеется большой текст, в нем имеются заголовки вида Заголовок статьи, подобных заголовков...

обработка результатов работы JS - JavaScript
Как передать в PHP идентификатор комбинации картинок, сгенерированной функцией на JS? Вот функция, которая меняет картинку по событию...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru