github.com/nitinawathare/ethereumassignment3@v0.0.0-20211021213010-f07344c2b868/go-ethereum/scripts/contracts/matrixMemory.sol (about)

     1  pragma solidity ^0.4.24;
     2  
     3  contract Sorter {
     4      uint size;
     5  
     6      constructor(uint matrixDimension) public {
     7      	size=matrixDimension;
     8      }
     9  
    10      function multiply() public{
    11          uint[4][4] memory data;
    12          uint[4][4] memory data1;
    13          uint[4][4] memory result;
    14  
    15          for (uint x = 0; x < size; x++)
    16              for (uint y = 0; y < size; y++)
    17                  data[x][y]=x+y;
    18  
    19          for ( x = 0; x < size; x++)
    20              for ( y = 0; y < size; y++)
    21                  data1[x][y]=x+y+2;
    22  
    23      	
    24  	    for (uint i = 0; i < size; i++) 
    25  	    { 
    26  	        for (uint j = 0; j < size; j++) 
    27  	        { 
    28  	            result[i][j] = 0; 
    29  	            for (uint k = 0; k < size; k++) 
    30  	                result[i][j] += data[i][k] *  
    31  	                             data1[k][j]; 
    32  	        } 
    33  	    }
    34      }
    35  }