Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ада и другие языки _ разработка программы Шахматный турнир

Автор: Насяня 31.05.2008 20:24

Помогите пожалуйста с программой....у самой никак не выходит(( Если честно не очень у меня и получаеться писать их...а сдавать в Пн....эх((

Разработать программу,обработки итоговой таблицы шахматного турнира.В программе предусмотреть ввод исходных данных(фамилии шахматистов и результаты их встреч друг с другом).Турнир проходит в 1 круг.Обработка должна включать:
-формирование итоговой таблицы турнира с расстановкой участников,согласно занятым местам с подсчётом набранных очков(за победу присуждается -1очко,за ничьюю-0,5,за поражение-0очков);
-определение и вывод фамилии участника (участников),одержавшего наибольшее число побед завершившего больше всех партий в ничью,потерпевшего больше всех поражений.

есть алгоритмы

Добавлено через 7 мин.
вот ещё...


Эскизы прикрепленных изображений
Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение

Автор: klem4 31.05.2008 20:32

Класс! Особенно "алгоритмы". Язык-то какой, brainfuck ?

Автор: Насяня 31.05.2008 20:36

и..вот

Добавлено через 3 мин.
язык С++


Эскизы прикрепленных изображений
Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение

Автор: klem4 1.06.2008 1:16

в общих чертах:

#include <iostream>
#include <vector>

using namespace std;


struct TableRecord
{

string name;

int wins;
int draws;
int loses;

TableRecord()
{
wins = 0;
draws = 0;
loses = 0;
}

float GetTotalPoints()
{
return wins + static_cast<float>(draws) * 0.5;
};
};

class PlayersList
{
private:
vector<TableRecord> list;
public:
PlayersList();
~PlayersList();

void FillPlayersInfo(int count);
void PrintPlayersList();

void SortByTotalScores();
void GenerateScoresInformation();

string GetMaxWinsName();
string GetMaxDrawsName();
};

PlayersList :: PlayersList()
{
}

PlayersList :: ~PlayersList()
{
list.clear();
}

void PlayersList :: FillPlayersInfo(int count)
{
TableRecord temp;

for (int i = 0; i < count; i++)
{
cout << "Name of player #" << i + 1 << ": ";
cin >> temp.name;
list.push_back(temp);
}
}

void PlayersList :: PrintPlayersList()
{
cout << endl;

for (unsigned i = 0; i < list.size(); i++)
{
cout << i + 1 << '\t' << list[i].name << '\t' << list[i].GetTotalPoints() <<endl;
}

cout << endl;
}

void PlayersList :: SortByTotalScores()
{
for (unsigned i = list.size() - 1; i > 0; i--)
for (unsigned j = 0; j < i; j++)
if (list[j].GetTotalPoints() < list[j + 1].GetTotalPoints())
{
TableRecord temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
}

void PlayersList :: GenerateScoresInformation()
{
srand(time(NULL));

for (unsigned i = 0; i < list.size() - 1; i++)
for (unsigned j = i + 1; j < list.size(); j++)
{
int game_result = -1 + rand() % 3;
/*
-1: first wins
0: draw
1: second wins
*/

string strResult = "";

switch(game_result)
{
case -1:
{
list[i].wins++;
list[j].loses++;
strResult = " has won at ";
};
break;

case 0:
{
list[i].draws++;
list[j].draws++;
strResult = " has played a drawn game with ";
};
break;
case 1:
{
list[i].loses++;
list[j].wins++;
strResult = " has lost ";
};
break;
}

cout << endl << list[i].name << strResult << list[j].name << endl;
}
}

string PlayersList :: GetMaxWinsName()
{
int max_wins_id = 0;
for (unsigned i = 1; i < list.size(); i++)
max_wins_id = list[i].wins > list[max_wins_id].wins ? i : max_wins_id;
return list[max_wins_id].name;
}

string PlayersList :: GetMaxDrawsName()
{
int max_draws_id = 0;
for (unsigned i = 1; i < list.size(); i++)
max_draws_id = list[i].draws > list[max_draws_id].draws ? i : max_draws_id;
return list[max_draws_id].name;
}

int main()
{
PlayersList *plist = new PlayersList();
(*plist).FillPlayersInfo(4);
(*plist).GenerateScoresInformation();
(*plist).SortByTotalScores();
(*plist).PrintPlayersList();

cout << "Player with maximum wins: " << (*plist).GetMaxWinsName() << endl;
cout << "Player with maximum draws: " << (*plist).GetMaxDrawsName() << endl;

delete plist;
return 0;
}

Автор: Насяня 2.06.2008 1:35

спасибо огромное клемыч.....а на каком это языке?
smile.gif

Автор: klem4 2.06.2008 11:11

А на какой похоже ? Ты же сказала что с++, вот это он и есть.