The SitePoint Forums have moved.

You can now find them here.
This forum is now closed to new posts, but you can browse existing content.
You can find out more information about the move and how to open a new account (if necessary) here.
If you get stuck you can get support by emailing forums@sitepoint.com

If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

What I expect to happen is that the 0 at 1,19 will be replaced with a 1, and that will show in the alert. What actually happens is that every element with an index of 19 is set to 1, not just the one I set.

When I made row an array and assigned values to it, then I assigned row to s[...], what I was really doing was assigning the value to a pointer, as it were, and since s had 10 copies of the precisely same array (not just copies, but actually the same memory address), when I changed a value in one, it changed in them all, whereas getting the value worked fine, returning only one value.

So I changed it, creating a new array during the outer loop, and now it works.