comp.lang.ada
 help / color / mirror / Atom feed
* Two Dimensional Array
@ 2002-02-15 12:30 Brian A Crawford
  2002-02-15 17:28 ` Jeffrey Carter
  2002-02-15 18:15 ` Stephen Leake
  0 siblings, 2 replies; 7+ messages in thread
From: Brian A Crawford @ 2002-02-15 12:30 UTC (permalink / raw)


I have a program to read  two numbers at a time from a file and then
use a two dimensional array to look at that reference to see if a
number 1 or 0 in assigned to the cell referenced.
For example if the numbers are 14,20 it would look up this in the
array and return a 1 say.
I have already got it to work (see fragment below) however the real
world problem is that the numbers 1 to 50 are not actually in
numerical order but jumbled up in a different sequence.

The code fragment shows the end result of my efforts so far.  
My problem is associating the values 1 or 0 to each cell of the array.
By having the numbers 1 to 50 in numerical order the numbers 1 and 0
are very haphazard placed and are difficult to define and update.  

If the array was firstly defined as say 1,21,34,50,17,4, etc, 48,16
then the 1 and 0 are placed together in the array and are very easy to
associate quickly in groups of 5. 
Example 
Event :=  (1 => (1,1,1,1,1,0,0,0,0,0,1,1,1,1,1 etc 
	21 => (0,0,0,0,0,1,1,1,1,1,0,0,0,0,0, etc
	34 => (0,0,0,0,0,0,0,0,0,0,1,1,1,1,1, etc
and so on.

This is a code fragment. 
      Number1	: Integer;
      Number2	: Integer;
        
subtype Firstevent is Integer range 1..50;
subtype Secondevent is Integer range 1..50;
      type Two_Events_Type is array (Firstevent, Secondevent) of
Integer;
Event : Two_Events_Type; 
   
begin
   --get input data
   
      Event :=   (0 =>
(1,0,0,1,0,1,1,0,0,0,0,1,1,0,1,1,1,0,1,etc,0,1,0,1,1,1,0,0,1,1),
1=>(1,1,0,1,0,0,1,0,0,1,1,1,etc
2=> and so forth

as you can see the 1's and 0's are all over the place.
How can I define subtypes FirstEvent and SecondEvent out of sequence?

Secondly then can I make an abbreviation to the array referencing eg
if AN is the sequence of 5 x 1's at {3,4,5,6,7} and BN is  is the
sequence of 5 x 1's at {17,18,19,20,21} position and similar for CN DN
EN etc how may I use that abbreviation in some way like this?

Event := (0 => (AN, BN, others => 0),
	21 => (CN, others =>0),
	34 => (DN, AN, CN, others 0)) etc

Thank you for any pointers.

Regards
Brian
          



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2002-02-23 13:36 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-02-15 12:30 Two Dimensional Array Brian A Crawford
2002-02-15 17:28 ` Jeffrey Carter
2002-02-15 18:15 ` Stephen Leake
2002-02-15 22:50   ` Brian A Crawford
2002-02-16  2:05     ` Mike Silva
2002-02-16  9:38       ` Brian A Crawford
2002-02-23 13:36         ` Nick Roberts

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox