473,382 Members | 1,441 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,382 software developers and data experts.

Unique & Complex Sorting Program

Basically, the program needs to take a data set of X (i.e. 80) students and assign them them into Y (i.e. 10) groups. Then assign Y (i.e. 10) number of faculty members, one to each group. But, students can’t be in a group with anyone they have been in a group with before or have a faculty member they have had before.

Currently, there are three sets of groups that already exist. So, the program would need to be able to consult that data and use it to avoid repeats. Ideally, I want the program to be able to refer back to any number of past group lists, as the process will need to be repeated several times to generate several sets of groups. I'd like the past group lists to be in an excel spreadsheet format and the new lists that are outputted to also be into an excel spread sheet.

Also, I wanted to have the program be flexible so that the numbers of students, groups, and faculty members could change as well as the identities of each group (i.e. there may be times where some faculty are not involved and others are). Finally, I understand that there will be a point where the program cannot create a group without overlap. In this case I wanted to program to make the overlap from group sets more prior. For example, a student would be in the same group with another student they had been with in the first group set versus the third group set.

I had a few ideas as to how this could work, but I don’t know which idea to use and how to go about it.

1. I was thinking of inputting all the students into a pool and then assigning them one by one to a faculty member. Each time the program went to assign a student to a group/faculty member it would consult the past groups and make sure that the student had not been with that faculty member or any students that have already been assigned into this new group.

2. Another idea I had was to have the computer generate all the possible combinations of group sets (as in every possibility would be a list of Y groups using X students) , ignoring overlap (not sure how to do that mathematically). Then, it would go through each set checking for overlap of faculty member or student in comparison to previous lists. Each time it had overlap, it would go to the next group set, until it found a group without any overlap.

3. The last idea was similar to the second idea. The computer would generate all the possible combinations of groups (not sets), so if a group was 8 students and 1 faculty member, it would generate a list of every possible group. Then, it would go through each set checking for overlap from group to group within those sets. It would also have to check against the current groups it sets aside for the group set being generated.

I hope someone can find a solution as I’ve been doing this process by hand on paper and its very tedious and time consuming. Please keep in mind that my programming knowledge is limited (I have only done a little Visual Basic programming, and that was several years ago) and I was thinking of using Visual Basic or an Excel macro. Thanks in advance for any help you can provide!
Jan 14 '08 #1
0 1128

Sign in to post your reply or Sign up for a free account.

Similar topics

4
by: Q. John Chen | last post by:
All, What's the difference between a unique contraint and unique? sementically, if you want a column contain unique values, it is a contraint. And an index is for searching/sort. The questions...
27
by: Daniel Vallstrom | last post by:
I'm having problems with inconsistent floating point behavior resulting in e.g. assert( x > 0.0 && putchar('\n') && x == 0.0 ); holding. (Actually, my problem is the dual one where I get...
4
by: Rock | last post by:
I'm in the process of writing this program for complex numbers and I use DevC++. My professor on the other hand compiles on Borland 5.5. So I ocasionally save and run my work on Borland to see if...
4
by: Saso Zagoranski | last post by:
Hi, I'm making a simple application which will store different items (in a SQL server 2000 - MSDE database). Each item has a unique ID in this form: / / / an example: AZ12345/1234/1/A
28
by: Martin Jørgensen | last post by:
Hi, I have a "funny" question, which I think is pretty "healthy" to examine... This program is being investigated: - - - - - - - #include <iostream> using namespace std; #define DAYS 7
11
by: garyhoran | last post by:
Hi Guys, I have a collection that contains various attributes (stuff like strings, DateTime and Timespan) . I would like to access the collection in various orders at different points in the...
15
by: Inny | last post by:
Hello, I found this simple js star rating script that I want to modify slightly. firstly I want to retain current vote , say 3 stars, untill its changed again. right now it resets to unvoted...
1
by: DesperateStdnt | last post by:
Basically, the program needs to take a data set of X (i.e. 80) students and assign them them into Y (i.e. 10) groups. Then assign Y (i.e. 10) number of faculty members, one to each group. But,...
4
by: arnuld | last post by:
This program follows from the section 6.5 of K&R2 where authors created a doubly-linked list using a binary-tree based approach. The only thing I have rewritten myself is the getword function. I am...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.