Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support |

#1
December 13th, 2004, 07:30 PM
 playlife
Registered User

Join Date: Dec 2004
Posts: 8
Time spent in forums: 8 h 42 m
Reputation Power: 0
Comparing 2 Arrays (unconventional)

Hi all. Firstly many thanks for all those who have posted, some great material on this forum.

My current problem is comparing two arrays, however it has a bit of a difference to the 'standard' array comparison problem.

E.g.:
Array A has 400 elements. Each element contains a range of values that a secondary array must be evaluated to (in other words, Array A is the baseline).

value of array_A[0] element is defined as a value in the range [1996, 4095].
value of array_A[1] element is defined as a value in the range [1, 31].

So on and so forth with some 400 elements.

The objective is to compare Array B to the Array A paramters and to determine whether the corresponding element is within the given range.

mathematically, if (1995 < array_B[0] < 4096) then = true.

I do have some code for it, but it is extremely inefficient and simply inappropriate to use for arrays of over 1000 elements.
The range parameters must also be easily accessible for modification in the future, so the range definition for the required paramter should not be buried in xxx lines of code (preferably of course).

#2
December 13th, 2004, 07:48 PM
 fisch
Contributing User

Join Date: Apr 2004
Location: Frostbite capital of the world
Posts: 542
Time spent in forums: 16 h 58 m 34 sec
Reputation Power: 10
throw up the code, i don't understand what the problem would be. I'd just create Array_A as a 2-D array.

Array_A[400][2] where:
Array_A[i][0]=min range value;
Array_A[i][1]=max range value;

where do you think the inefficiency is?

#3
December 13th, 2004, 07:50 PM
 DaWei_M
Renaissance Redneck

Join Date: Jan 2004
Location: Central New York. Texan via Arizona, out of his element!
Posts: 8,509
Time spent in forums: 4 Weeks 17 h 53 m 58 sec
Warnings Level: 20
Number of bans: 3
Reputation Power: 3268
Quote:
 mathematically, if (1995 < array_B[0] < 4096) then = true.

That's a very good start, put it in a loop. The question in my mind is how you have a "range" specified in the one element. Text as in "1995-4095", or what?
__________________
Functionality rules and clarity matters; if you can work a little elegance in there, you're stylin'.
If you can't spell "u", "ur", and "ne1", why would I hire you? 300 baud modem? Forget I mentioned it.
DaWei on Pointers Politically Incorrect.

 Viewing: Dev Shed Forums > Programming Languages > C Programming > Comparing 2 Arrays (unconventional)