Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > Strange two dimensional array behaviour

Reply
Thread Tools

Strange two dimensional array behaviour

 
 
Zsolnai Csaba
Guest
Posts: n/a
 
      04-30-2009
This code is supposed to read in a 9x9 table (sudoku table) from a
simple text file. It then needs to write it out on the screen.

#read from file

def puzzle_beolvas fnev
f = File.new(fnev,"r")
puzzle = Array.new(9){[]}
for i in (1..9)
puzzle[i] = Array.new(9)
end
i = 1

f.each do |sor|
j = 1
sor.each do |str|
puzzle[i][j] = str
j = j + 1
end
#print "\n"
i = i + 1
end
f.close

#Write out the 2 dimensional array

for i in (1..9)
for j in (1..9)
print puzzle[i][j]
print " "
end
print "\n"
end

end

#the program does this for every file, whose name is given as an
argument

ARGV.each do |a|
puzzle_beolvas a
end


So, the output should be something like this:

6 1 5 4 2 9 3 8 7
4 7 2 8 5 3 1 6 9
3 9 8 1 7 6 2 4 5
7 4 6 2 3 1 5 9 8
5 2 1 9 8 4 6 7 3
9 8 3 7 6 5 4 1 2
8 6 7 5 4 2 9 3 1
1 5 4 3 9 7 8 2 6
2 3 9 6 1 8 7 5 .

Instead, i get this:

6 1 5 4 2 9 3 8 7
nil nil nil nil nil nil nil nil
4 7 2 8 5 3 1 6 9
nil nil nil nil nil nil nil nil
3 9 8 1 7 6 2 4 5
nil nil nil nil nil nil nil nil
7 4 6 2 3 1 5 9 8
nil nil nil nil nil nil nil nil
5 2 1 9 8 4 6 7 3
nil nil nil nil nil nil nil nil
9 8 3 7 6 5 4 1 2
nil nil nil nil nil nil nil nil
8 6 7 5 4 2 9 3 1
nil nil nil nil nil nil nil nil
1 5 4 3 9 7 8 2 6
nil nil nil nil nil nil nil nil
2 3 9 6 1 8 7 5 .
nil nil nil nil nil nil nil nil
6 1 5 4 2 9 3 8 7



Any ideas, why ?
--
Posted via http://www.ruby-forum.com/.

 
Reply With Quote
 
 
 
 
Rob Biedenharn
Guest
Posts: n/a
 
      04-30-2009
On Apr 30, 2009, at 3:54 PM, Zsolnai Csaba wrote:

> This code is supposed to read in a 9x9 table (sudoku table) from a
> simple text file. It then needs to write it out on the screen.
>
> #Write out the 2 dimensional array
>
> for i in (1..9)
> for j in (1..9)
> print puzzle[i][j]
> print " "
> end
> print "\n"
> end
>
> end

<snip>
>
> Any ideas, why ?
> --



Arrays index from 0. A 9-element array has indexes from 0..8

-Rob

Rob Biedenharn http://agileconsultingllc.com
http://www.velocityreviews.com/forums/(E-Mail Removed)


 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
To convert a one dimensional array into a two dimensional array using C amrutha0303 Software 0 08-03-2010 10:02 PM
How do copy Strings from a single dimensional array to double dimensional array Venkat C++ 4 12-05-2003 09:23 AM
Re: Two dimensional pointers and Two dimensional arrays Icosahedron C++ 8 08-21-2003 05:15 AM
Re: Two dimensional pointers and Two dimensional arrays John Harrison C++ 4 08-19-2003 04:00 PM
Re: Two dimensional pointers and Two dimensional arrays Alf P. Steinbach C++ 0 08-18-2003 08:25 AM



Advertisments