Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 4 of 4
  1. #1
    New to the CF scene
    Join Date
    Aug 2007
    Posts
    3
    Thanks
    1
    Thanked 0 Times in 0 Posts

    Rearranging and displaying arrays

    Hello,

    I'm trying to take a 2D array of user input display it, rearrange it, and display it again according to Mathew's Algorithm.

    The matrices would like this:

    ORIGINAL-
    [0][0], [0][1], [0][2], [0][3],
    [1][0], [1][1], [1][2], [1][3],
    [2][0], [2][1], [2][2], [2][3],
    [3][0], [3][1], [3][2], [3][3]

    REARRANGED
    [0][0], [1][1], [2][2], [3][3],
    [3][0], [0][1], [1][2], [2][3],
    [2][0], [3][1], [0][2], [1][3],
    [1][0], [2][1], [3][2], [0][3]

    As it is now entering the input and displaying the first table is no problem. After that, though, something goes wrong. The second table does not display, I don't know if the problem is the algorithmRot() function or the tableMaker()

    Here are both of those funtions (I would be happy to provide the whole code if necessary, just trying to be concise)

    Code:
    /****A 2d of information is passed to tableMaker() which displays the
     matrix, and than passes it up to algorithmRot() which rearranges its pieces
     and passes it back.*****/
    
    function algorithmRot(x){	
    	var xRef = [];
    	for(i=0; i<x.length; i++){
    		for(j=0; j<x.length; j++){
    		xRef[i][j]=j;
    		}}
    		
    		for(i=0; i<x.length; i++){
    		var a=xRef[i].splice(-i);
    		a.reverse()
    		for(j=0; j<a.length; j++){
    		xRef[i].splice(0,0,a[j]);// OR TRY unshift(a[j]);
    		}}
    		
    		for(i=0; i<x.length; i++){
    		for(j=0; j<x.length; j++){
    		x[i][j]=x[xRef[i][j]][j];
    		}}
    		
    }
    		
    
    function tableMaker(x){
    var table = [];
    var row = [];
    var col = [];
    var div = document.getElementById("cont");
    
    for(i=0; i<x.length; i++){
    	table[i] = document.createElement("table");
    	row[i] = document.createElement("tr");
    		
    	for(j=0; j<x.length; j++){
    		
    		col[j] = document.createElement("td");
    	table[i].appendChild(row[i]);
    	div.appendChild(table[i]);
    }
    
    algorithmRot(x);
    
    /*****2ND TABLE*******/
    
    for(i=0; i<x.length; i++){
    	table[i] = document.createElement("table");
    	row[i] = document.createElement("tr");
    		
    	for(j=0; j<x.length; j++){
    		
    		col[j] = document.createElement("td");
    	table[i].appendChild(row[i]);
    	div.appendChild(table[i]);
    }
    	
    }
    any help will be greatly appreciated as I've knocking my skull against a wall on this one for a while.

    -Brad

  • #2
    UE Antagonizer Fumigator's Avatar
    Join Date
    Dec 2005
    Location
    Utah, USA, Northwestern hemisphere, Earth, Solar System, Milky Way Galaxy, Alpha Quadrant
    Posts
    7,691
    Thanks
    42
    Thanked 637 Times in 625 Posts
    Troubleshoot stuff like this by a) examining the error console in Firefox (I'm assuming you use Firefox as you are a developer), and b) inserting alert() messages in strategic locations so you can trace through the values of the arrays to figure out what is actually happening.

  • Users who have thanked Fumigator for this post:

    bnagle (08-30-2007)

  • #3
    New to the CF scene
    Join Date
    Aug 2007
    Posts
    3
    Thanks
    1
    Thanked 0 Times in 0 Posts

    thanks

    thanks for the reply, I have one quick question though, is the error console you mentioned the same as the venkman debugger? If not where on the browser would I find that guy?

    thanks again,
    Brad

  • #4
    UE Antagonizer Fumigator's Avatar
    Join Date
    Dec 2005
    Location
    Utah, USA, Northwestern hemisphere, Earth, Solar System, Milky Way Galaxy, Alpha Quadrant
    Posts
    7,691
    Thanks
    42
    Thanked 637 Times in 625 Posts
    Tools | Error Console, then make sure the "JS" is on (to display Javascript errors).


  •  

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •