1 / 1 / 1
Регистрация: 01.03.2012
Сообщений: 19

Алгоритм стыковки команд

03.06.2012, 16:13. Показов 624. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание таково - вывести( и сохранять после каждого тура) таблицу результатов Футбольного чемпионата. Резулттаты матчей вводятся с клавиатуры. То есть по результатам матчей отсортрировать и вывести таблицу. А теперь сам вопрос.
Имеется 16 комманд. нужно организовать 15 матчей, чтобы каждая команда сыграла с каждой, и, естесвенно, матчи не повторялись. Это то, чего мне не хватает в программе, и мне нужно это, не могу никак сообразить алгоритм. Сейчас у меня матчи каждого следующейго тура зависят от результатов предыдущего, и естесвенно, могут повторяться и каждая комманда друг с другом не сыграет.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
uses crt, dos;
type
 command=record
 nazv: string[9];
 ochki: integer;
 zgol: integer;
 pgol: integer;
 num: integer;
 end;
 
var
tabl: array[1..16] of command;
a, b: char;
i, k: integer;
out: text;
pp: string;
procedure qsort(l,r:integer);
var i, j: integer;
    w, q, b, c, d:integer;
    a:string;
begin
 i:=l; j:=r;
 q:=tabl[(l+r) div 2].ochki;
 repeat
  while (tabl[i].ochki>q) do inc(i);
  while (q>tabl[j].ochki) do dec(j);
  if (i<=j) then
   begin
    w:=tabl[i].ochki; tabl[i].ochki:=tabl[j].ochki; tabl[j].ochki:=w;
    a:=tabl[i].nazv; tabl[i].nazv:=tabl[j].nazv; tabl[j].nazv:=a;
    b:=tabl[i].zgol; tabl[i].zgol:=tabl[j].zgol; tabl[j].zgol:=b;
    c:=tabl[i].pgol; tabl[i].pgol:=tabl[j].pgol; tabl[j].pgol:=c;
    d:=tabl[i].num; tabl[i].num:=tabl[j].num; tabl[j].num:=d;
    inc(i); dec(j);
   end;
  until (i>j);
  if (l<j) then qsort(l, j);
  if (i<r) then qsort(i, r);
end;
 
 
begin
clrscr;
assign(out, 'tabl1.txt');
rewrite(out);
for i:=1 to 16 do tabl[i].num:=i;
tabl[1].nazv:='amkar';
tabl[2].nazv:='anzhi';
tabl[3].nazv:='volga';
tabl[4].nazv:='dinamo';
tabl[5].nazv:='zenit';
tabl[6].nazv:='krasnodar';
tabl[7].nazv:='krylia';
tabl[8].nazv:='kuban';
tabl[9].nazv:='loko';
tabl[10].nazv:='rostov';
tabl[11].nazv:='rubin';
tabl[12].nazv:='mspartak';
tabl[13].nazv:='nspar';
tabl[14].nazv:='terek';
tabl[15].nazv:='tom';
tabl[16].nazv:='cska';
for i:=1 to 16 do
 with tabl[i] do
  begin
   ochki:=0; zgol:=0; pgol:=0;
  end;
for k:=1 to 2 do
begin
writeln('vvedite rezultaty matchey ', k, ' tura');
for i:=16 downto 9 do
 begin
 writeln(tabl[i].nazv, ' vs ', tabl[16-i+1].nazv);
 if keypressed then a:=readkey;
 if a=#0 then a:=readkey;
 while ord(a)>ord('9') do
  begin
   writeln('neverniy format sheta, povtorite vvod dlya 1 kommandi');
   keypressed; a:=readkey;
  end;
 write(a);
 tabl[i].zgol:=tabl[i].zgol+ord(a)-ord('0');
 tabl[16-i+1].pgol:=tabl[16-i+1].pgol+ord(a)-ord('0');
 write('-');
 keypressed; b:=readkey;
 while ord(b)>ord('9') do
  begin
   writeln('neverniy format sheta, povtorite vvod dlya 2 kommandi');
   keypressed; b:=readkey;
   if b=#0 then b:=readkey;
  end;
 tabl[i].pgol:=tabl[i].pgol+ord(b)-ord('0');
 tabl[16-i+1].zgol:=tabl[16-i+1].zgol+ord(b)-ord('0');
 write(b);
 if a>b then tabl[i].ochki:=tabl[i].ochki+3 else
  if b>a then tabl[16-i+1].ochki:=tabl[16-i+1].ochki+3 else
   begin tabl[16-i+1].ochki:=tabl[16-i+1].ochki+1; tabl[i].ochki:=tabl[i].ochki+1 end;
 a:=#0; b:=#0;
 writeln;
 end;
qsort(1, 16);
writeln('resultaty etogo i predidushih turov mozhno prosmosret` v faile `tabl1.txt`');
writeln('on byl sozdan v kataloge s programmoy');
append(out);
writeln(out, 'tablica rezultatov posle ', k, ' tura');
writeln(out,'  comanda    ochki zabito propusk');
for i:=1 to 16 do writeln (out, tabl[i].nazv:9, ' ', tabl[i].ochki:6, ' ', tabl[i].zgol:6, ' ', tabl[i].pgol:7);
if k=1 then begin writeln('dlya vvoda rezul`tatov 2 tura nazhmite lubuiy klavishu'); readkey; end;
end;
close(out);
readln;
end.
ПРограмма работает верно и без ошибок, надо только заменить алгоритм стыковки. Заранее благодарен.

Добавлено через 4 часа 6 минут
оу, не заметил что писал, не 15 матчей, а 15 ТУРОВ.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.06.2012, 16:13
Ответы с готовыми решениями:

Алгоритм для распределения команд на группы
Всем доброго времени суток. Моя команда решила провести турнир из 24 команд, нам необходимо рандомным образом распределить их на 4...

Схема контроля стыковки с двухцветным светодиодом
Хочу сделать контроль стыковки разъемов. В ответной части разъема пара пинов замкнуты перемычкой. Когда разъем отключен, светодиод...

Командный интерпретатор: алгоритм анализа команд
есть ли какой-нибудь алгоритм анализа команд? кроме парсинга строки с командой и перебора ничего в голову не приходит.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.06.2012, 16:13
Помогаю со студенческими работами здесь

Таблица футбольных команд: Сформировать показатели команд заданного континента
Есть вот такое задание. Рейтинговая таблица футбольных сборных содержит следующие сведения: страна, название команды, фамилии тренера...

Временно отменить добавление команд в очередь команд диалогового окна
Добрый день, уважаемые программисты! Начнём по порядку... Я пишу оконное приложение на WinApi, которое реализует шифр Бэкона. ...

Пример какой-нибудь программы на ассемблере с применением логических команд и команд сдвига.
Разработка программ на ассемблере при реализации логических команд и команд сдвига. Очень нужна какая - нибудь работающая программа!

Группа команд пересылки и арифметико-логических команд
Помогите, какие способы адресации есть у 1 и 2 группы команд? (не менее 8, но буду рад любой помощи:))

Распечатать список призёров футбольных команд
Даны список футбольных команд высшей лиги России и количество очков, набранных каждой командной в чемпионате России. Известно, что нет...


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

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

Новые блоги и статьи
Angular vs Svelte - что лучше?
Reangularity 09.07.2025
Сегодня рынок разделился на несколько четких категорий: тяжеловесы корпоративного уровня (Angular), гибкие универсалы (React), прогрессивные решения (Vue) и новая волна компилируемых фреймворков. . .
Code First и Database First в Entity Framework
UnmanagedCoder 09.07.2025
Entity Framework дает нам свободу выбора, предлагая как Code First, так и Database First подходы. Но эта свобода порождает вечный вопрос — какой подход выбрать? Entity Framework — это. . .
Как использовать Bluetooth-модуль HC-05 с Arduino
Wired 08.07.2025
Bluetooth - это технология, созданная чтобы заменить кабельные соединения. Обычно ее используют для связи небольших устройств: мобильных телефонов, ноутбуков, наушников и т. д. Работает она на частоте. . .
Руководство по структурам данных Python
AI_Generated 08.07.2025
Я отчетливо помню свои первые серьезные проекты на Python - я писал код, он работал, заказчики были относительно довольны. Но однажды мой наставник, взглянув на мою реализацию поиска по огромному. . .
Тестирование энергоэффективности и скорости вычислений видеокарт в BOINC проектах
Programma_Boinc 08.07.2025
Тестирование энергоэффективности и скорости вычислений видеокарт в BOINC проектах Опубликовано: 07. 07. 2025 Рубрика: Uncategorized Автор: AlexA Статья размещается на сайте с разрешения. . .
Раскрываем внутренние механики Android с помощью контекста и манифеста
mobDevWorks 07.07.2025
Каждый Android-разработчик сталкивается с Context и манифестом буквально в первый день работы. Но много ли мы задумываемся о том, что скрывается за этими обыденными элементами? Я, честно говоря,. . .
API на базе FastAPI с Python за пару минут
AI_Generated 07.07.2025
FastAPI - это относительно молодой фреймворк для создания веб-API, который за короткое время заработал бешеную популярность в Python-сообществе. И не зря. Я помню, как впервые запустил приложение на. . .
Основы WebGL. Раскрашивание вершин с помощью VBO
8Observer8 05.07.2025
На русском https:/ / vkvideo. ru/ video-231374465_456239020 На английском https:/ / www. youtube. com/ watch?v=oskqtCrWns0 Исходники примера:
Мониторинг микросервисов с OpenTelemetry в Kubernetes
Mr. Docker 04.07.2025
Проблема наблюдаемости (observability) в Kubernetes - это не просто вопрос сбора логов или метрик. Это целый комплекс вызовов, которые возникают из-за самой природы контейнеризации и оркестрации. К. . .
Проблемы с Kotlin и Wasm при создании игры
GameUnited 03.07.2025
В современном мире разработки игр выбор технологии - это зачастую балансирование между удобством разработки, переносимостью и производительностью. Когда я решил создать свою первую веб-игру, мой. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru