The Shed is going Social! Join us on FaceBook and Twitter and chime in on the conversation.
|
 |
|
Dev Shed Forums
> Programming Languages - More
> Software Design
|
Algorithm required
Discuss Algorithm required in the Software Design forum on Dev Shed. Algorithm required Software design forum discussing design principles and non-language specific algorithms. Get help with logic, algebraic, or relational concepts.
|
|
 |
|
|
|
|

Dev Shed Forums Sponsor:
|
|
|

February 17th, 2002, 11:57 PM
|
|
Junior Member
|
|
Join Date: Feb 2002
Location: Perth Western Australia
Posts: 3
Time spent in forums: < 1 sec
Reputation Power: 0
|
|
|
Algorithm required
I am in the process of developing a website where users can roster their associations sporting schedules or fixtures.
I have been trying to develop a simple algorithm that assists with this process and not being strongly math orientated, I can tell you my head hurts!
My problem is best simplified as follows:
Given say, 4 entities, I need to be able to calculate each entity playing the remaining three others once without any duplications. This needs to repeat until all possible pairings have been exhausted.
E.g. Entities A, B, C, D
First run - AB, CD
Second run - AC, BD
Third run - AD, BC
Of course the amount of entities needs to be variable.
Any help with this would be greatly appreciated.
Regards
Hebbs
|

February 18th, 2002, 10:19 AM
|
 |
T-Shirt Tragic
|
|
Join Date: Mar 2001
Location: Melbourne, Australia
|
|
not sure if this what you're after but ...
this is an example in javascript that will take an array of elements (such as the alphabet) and sort it into an array of pairs without any duplicates...
Code:
<html>
<head>
<title>pairs</title>
</head>
<body>
<script language="javascript" type="text/javascript">
// give an array of elems [a...z] sort into pairs without any duplicates. [[a,b],[a,c]...[y,z]]
function pairs(elements) {
pairs = new Array();
var pointer = 1;
for (k=0;k<elements.length;k++) {
for (j=pointer;j<elements.length;j++) pairs[pairs.length] = [elements[k],elements[j]];
pointer++;
}
for (x=0;x<pairs.length;x++) document.writeln(pairs[x][0]+"-"+pairs[x][1]+"<br>");
}
testArray = ['a','b','c','d','e','f','g','h','i','j','k','l','m',
'n','o','p','q','r','s','t','u','v','w','x','y','z'];
pairs(testArray);
</script>
</body>
</html>
The trick is to maintain a "pointer" variable and increment it after each pass through the nested loop.
Hope I got it right for you.
|
Developer Shed Advertisers and Affiliates
| Thread Tools |
Search this Thread |
|
|
|
| Display Modes |
Rate This Thread |
Linear Mode
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
|
|