Find out normal and trace in square matrix

Here given code implementation process.

/*
  C Program 
+ Find normal and trace of a matrix
*/
#include <stdio.h>
#include <math.h>
#define SIZE 3



void find_normal_trace(int matrix[][SIZE])
{
  if(SIZE <=0 )
  {
    return;
  }
  
  int normal = 0;
  //Calculate Normal
  for (int i = 0; i < SIZE; ++i)
  {
    for (int j = 0; j < SIZE; ++j)
    {
      normal += matrix[i][j] * matrix[i][j];
    }
  }

  printf("  Normal : %d\n",(int)sqrt(normal) );


  //Calculate Trace
  //This is sum of diagonal elements
  int trace = matrix[0][0];


  for (int i = 1; i < SIZE; ++i)
  {
    for (int j = 0; j < SIZE; ++j)
    {
      if(i == j )
      {
        //Calculate sum of diagonal elements
        trace += matrix[i][j];
      }
      
      
    }
  }
  
  printf("  Trace : %d\n",trace );
}
void show_data(int matrix[][SIZE])
{
  for (int i = 0; i < SIZE; ++i)
  {
    for (int j = 0; j < SIZE; ++j)
    {
      printf("%3d",matrix[i][j] );
    }
    printf("\n");
  }
  printf("\n");
}
int main(){

  int matrix[][SIZE] = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 3}
  }; 
  show_data(matrix);
  find_normal_trace(matrix);



  return 0;
}

Output

  1  2  3
  4  5  6
  7  8  3

  Normal : 14
  Trace : 9
/*
  C++ Program
  Find normal and trace of a matrix
*/
#include<iostream>
#include <math.h>
#define SIZE 3
using namespace std;

class MyMatrix {
	public:
		int size;
	MyMatrix() {
		//Get matrix size
		//Assume that given matrix size is NXN 
		this->size = SIZE;
	}
	void find_normal_trace(int matrix[][SIZE]) {
		if (this->size <= 0) {
			return;
		}
		int normal = 0;
		//Calculate Normal

		for (int i = 0; i < this->size; ++i) {
			for (int j = 0; j < this->size; ++j) {
				normal += matrix[i][j] *matrix[i][j];
			}
		}
		cout << " Normal : " << (int) sqrt(normal) << "\n";
		//Calculate Trace
		//This is sum of diagonal elements
		int trace = matrix[0][0];
		for (int i = 1; i < this->size; ++i) {
			for (int j = 0; j < this->size; ++j) {
				if (i == j) {
					//Calculate sum of diagonal elements
					trace += matrix[i][j];
				}
			}
		}
		cout << " Trace : " << trace << "\n";
	}
	void show_data(int matrix[][SIZE]) {
		for (int i = 0; i < this->size; ++i) {
			for (int j = 0; j < this->size; ++j) {
				cout << " " << matrix[i][j];
			}
			cout << "\n";
		}
		cout << "\n";
	}
};
int main() {
	int matrix[][SIZE] = {
		{
			1,
			2,
			3
		},
		{
			4,
			5,
			6
		},
		{
			7,
			8,
			3
		}
	};
	MyMatrix obj;
	obj.show_data(matrix);
	obj.find_normal_trace(matrix);
	return 0;
}

Output

 1 2 3
 4 5 6
 7 8 3

 Normal : 14
 Trace : 9
/*
  Java Program
  Find normal and trace of a matrix
*/
public class MyMatrix {

  public int size;

  public MyMatrix(int [][]matrix)
  {
    //Get matrix size
    //Assume that given matrix size is NXN 
    this.size = matrix.length;
  }

  public void find_normal_trace(int [][]matrix)
  {
    if(this.size <=0 )
    {
      return;
    }
    
    int normal = 0;
    //Calculate Normal
    for (int i = 0; i < this.size; ++i)
    {
      for (int j = 0; j < this.size; ++j)
      {
        normal += matrix[i][j] * matrix[i][j];
      }
    }

    System.out.print(" Normal : "+(int)Math.sqrt(normal)+"\n" );


    //Calculate Trace
    //This is sum of diagonal elements
    int trace = matrix[0][0];


    for (int i = 1; i < this.size; ++i)
    {
      for (int j = 0; j < this.size; ++j)
      {
        if(i == j )
        {
          //Calculate sum of diagonal elements
          trace += matrix[i][j];
        }
        
        
      }
    }
    
    System.out.print(" Trace :  "+trace+"\n" );
  }
  public void show_data(int [][]matrix)
  {
    for (int i = 0; i < this.size; ++i)
    {
      for (int j = 0; j < this.size; ++j)
      {
        System.out.print("  "+matrix[i][j] );
      }
      System.out.print("\n");
    }
    System.out.print("\n");
  }
  public static void main(String[] args) 
  {
    //Define matrix element
    int [][]matrix =
    {
      {1, 2, 3},
      {4, 5, 6},
      {7, 8, 3}
    }; 
    MyMatrix obj = new MyMatrix(matrix);

    obj.show_data(matrix);
    obj.find_normal_trace(matrix);
  }
}

Output

 1 2 3
 4 5 6
 7 8 3

 Normal : 14
 Trace : 9
/*
  C# Program
  Find normal and trace of a matrix
*/
using System;
public class MyMatrix {
	int size;
	MyMatrix(int[,] matrix) {
		//Get matrix size
		//Assume that given matrix size is NXN 
		this.size = matrix.GetLength(0);
	}
	public void find_normal_trace(int[,] matrix) {
		if (this.size <= 0) {
			return;
		}
		int normal = 0;
		//Calculate Normal

		for (int i = 0; i < this.size; ++i) {
			for (int j = 0; j < this.size; ++j) {
				normal += matrix[i,j] * matrix[i,j];
			}
		}
		Console.Write(" Normal : " + (int) Math.Sqrt(normal) + "\n");
		//Calculate Trace
		//This is sum of diagonal elements
		int trace = matrix[0,0];
		for (int i = 1; i < this.size; ++i) {
			for (int j = 0; j < this.size; ++j) {
				if (i == j) {
					//Calculate sum of diagonal elements
					trace += matrix[i,j];
				}
			}
		}
		Console.Write(" Trace : " + trace + "\n");
	}
	public void show_data(int[,] matrix) {
		for (int i = 0; i < this.size; ++i) {
			for (int j = 0; j < this.size; ++j) {
				Console.Write(" " + matrix[i,j]);
			}
			Console.Write("\n");
		}
		Console.Write("\n");
	}
	public static void Main(String[] args) {
		int[,]
		//Define matrix element
		matrix = {
			{
				1,
				2,
				3
			},
			{
				4,
				5,
				6
			},
			{
				7,
				8,
				3
			}
		};
		MyMatrix obj = new MyMatrix(matrix);
		obj.show_data(matrix);
		obj.find_normal_trace(matrix);
	}
}

Output

 1 2 3
 4 5 6
 7 8 3

 Normal : 14
 Trace : 9
<?php
/*
  Php Program
  Find normal and trace of a matrix
*/
class MyMatrix {
	public $size;

	function __construct($matrix) {
		//Get matrix size
		//Assume that given matrix size is NXN 
		$this->size = count($matrix);
	}
	public 	function find_normal_trace($matrix) {
		if ($this->size <= 0) {
			return;
		}
		$normal = 0;
		//Calculate Normal

		for ($i = 0; $i < $this->size; ++$i) {
			for ($j = 0; $j < $this->size; ++$j) {
				$normal += $matrix[$i][$j] *$matrix[$i][$j];
			}
		}
		echo(" Normal : ". intval(sqrt($normal)) ."\n");
		//Calculate Trace
		//This is sum of diagonal elements
		$trace = $matrix[0][0];
		for ($i = 1; $i < $this->size; ++$i) {
			for ($j = 0; $j < $this->size; ++$j) {
				if ($i == $j) {
					//Calculate sum of diagonal elements
					$trace += $matrix[$i][$j];
				}
			}
		}
		echo(" Trace : ". $trace ."\n");
	}
	public 	function show_data($matrix) {
		for ($i = 0; $i < $this->size; ++$i) {
			for ($j = 0; $j < $this->size; ++$j) {
				echo(" ". $matrix[$i][$j]);
			}
			echo("\n");
		}
		echo("\n");
	}
}

function main() {
	//Define matrix element
	$matrix = array(array(1, 2, 3), array(4, 5, 6), array(7, 8, 3));
	$obj = new MyMatrix($matrix);
	$obj->show_data($matrix);
	$obj->find_normal_trace($matrix);

}
main();

Output

 1 2 3
 4 5 6
 7 8 3

 Normal : 14
 Trace : 9
/*
  Node Js Program
  Find normal and trace of a matrix
*/
class MyMatrix {
	;
	constructor(matrix) {
		//Get matrix size
		//Assume that given matrix size is NXN 
		this.size = matrix.length;
	}
	find_normal_trace(matrix) {
		if (this.size <= 0) {
			return;
		}
		var normal = 0;
		//Calculate Normal

		for (var i = 0; i < this.size; ++i) {
			for (var j = 0; j < this.size; ++j) {
				normal += matrix[i][j] *matrix[i][j];
			}
		}

		process.stdout.write(" Normal : " + parseInt(Math.sqrt(normal)) + "\n");
		//Calculate Trace
		//This is sum of diagonal elements
		var trace = matrix[0][0];
		for (var i = 1; i < this.size; ++i) {
			for (var j = 0; j < this.size; ++j) {
				if (i == j) {
					//Calculate sum of diagonal elements
					trace += matrix[i][j];
				}
			}
		}

		process.stdout.write(" Trace : " + trace + "\n");
	}
	show_data(matrix) {
		for (var i = 0; i < this.size; ++i) {
			for (var j = 0; j < this.size; ++j) {
				process.stdout.write(" " + matrix[i][j]);
			}

			process.stdout.write("\n");
		}

		process.stdout.write("\n");
	}
}

function main(args) {
	//Define matrix element
	var matrix = [
		[1, 2, 3],
		[4, 5, 6],
		[7, 8, 3]
	];
	var obj = new MyMatrix(matrix);
	obj.show_data(matrix);
	obj.find_normal_trace(matrix);
}

main();

Output

 1 2 3
 4 5 6
 7 8 3

 Normal : 14
 Trace : 9
#  Python 3 Program
#  Find normal and trace of a matrix
import math
class MyMatrix :
	
	def __init__(self, matrix) :
		# Get matrix size
		# Assume that given matrix size is NXN 
		self.size = len(matrix)
	
	def find_normal_trace(self, matrix) :
		if (self.size <= 0) :
			return
		
		normal = 0
		# Calculate Normal
		i = 0
		while (i < self.size) :
			j = 0
			while (j < self.size) :
				normal += matrix[i][j] * matrix[i][j]
				j += 1
			
			i += 1
		
		print(" Normal : ", int(math.sqrt(normal)) ,"\n", end = "")
		trace = matrix[0][0]
		i = 1
		while (i < self.size) :
			j = 0
			while (j < self.size) :
				if (i == j) :
					# Calculate sum of diagonal elements
					trace += matrix[i][j]
				
				j += 1
			
			i += 1
		
		print(" Trace : ", trace ,"\n", end = "")
	
	def show_data(self, matrix) :
		i = 0
		while (i < self.size) :
			j = 0
			while (j < self.size) :
				print(" ", matrix[i][j], end = "")
				j += 1
			
			print("\n", end = "")
			i += 1
		
		print("\n", end = "")
	

def main() :
	matrix = [
		[1, 2, 3],
		[4, 5, 6],
		[7, 8, 3]
	]
	obj = MyMatrix(matrix)
	obj.show_data(matrix)
	obj.find_normal_trace(matrix)


if __name__ == "__main__":
	main()

Output

  1  2  3
  4  5  6
  7  8  3

 Normal :  14
 Trace :  9
# Ruby Program
# Find normal and trace of a matrix
class MyMatrix 
	# Define the accessor and reader of class MyMatrix
	attr_reader :size
	attr_accessor :size
	def initialize(matrix) 
		# Get matrix size
		# Assume that given matrix size is NXN 
		self.size = matrix.length
	end
	def find_normal_trace(matrix) 
		if (self.size <= 0) 
			return
		end
		normal = 0
		# Calculate Normal
		i = 0
		while (i < self.size) 
			j = 0
			while (j < self.size) 
				normal += matrix[i][j] * matrix[i][j]
				j += 1
			end
			i += 1
		end
		print(" Normal  :", (Math.sqrt(normal)).to_i ,"\n")
		trace = matrix[0][0]
		i = 1
		while (i < self.size) 
			j = 0
			while (j < self.size) 
				if (i == j) 
					# Calculate sum of diagonal elements
					trace += matrix[i][j]
				end
				j += 1
			end
			i += 1
		end
		print(" Trace  :", trace ,"\n")
	end
	def show_data(matrix) 
		i = 0
		while (i < self.size) 
			j = 0
			while (j < self.size) 
				print(" ", matrix[i][j])
				j += 1
			end
			print("\n")
			i += 1
		end
		print("\n")
	end
end
def main() 
	matrix = [
		[1, 2, 3],
		[4, 5, 6],
		[7, 8, 3]
	]
	obj = MyMatrix.new(matrix)
	obj.show_data(matrix)
	obj.find_normal_trace(matrix)
end


main()

Output

 1 2 3
 4 5 6
 7 8 3

 Normal  :14
 Trace  :9
/*
  Scala Program
  Find normal and trace of a matrix
*/
class MyMatrix(var size: Int) {
	;

	def this(matrix: Array[Array[Int]]) {
		//Get matrix size
		//Assume that given matrix size is NXN 
		this(matrix.length);
	}
	def find_normal_trace(matrix: Array[Array[Int]]): Unit = {
		if (this.size <= 0) {
			return;
		}
		var normal: Int = 0;

		//Calculate Normal
		var i: Int = 0;
      	var j: Int = 0;
		while (i < this.size) {
			j = 0;
			while (j < this.size) {
				normal += matrix(i)(j) * matrix(i)(j);
				j += 1;
			}
			i += 1;
		}
		print(" Normal : " + (Math.sqrt(normal)).toInt + "\n");
		var trace: Int = matrix(0)(0);
		i = 1;
		while (i < this.size) {
			j = 0;
			while (j < this.size) {
				if (i == j) {
					//Calculate sum of diagonal elements
					trace += matrix(i)(j);
				}
				j += 1;
			}
			i += 1;
		}
		print(" Trace : " + trace + "\n");
	}
	def show_data(matrix: Array[Array[Int]]): Unit = {
		var i: Int = 0;
		while (i < this.size) {
			var j: Int = 0;
			while (j < this.size) {
				print(" " + matrix(i)(j));
				j += 1;
			}
			print("\n");
			i += 1;
		}
		print("\n");
	}
}
object Main {
	def main(args: Array[String]): Unit = {
		val matrix: Array[Array[Int]] = Array(
			Array(1, 2, 3),
			Array(4, 5, 6),
			Array(7, 8, 3));
		val obj: MyMatrix = new MyMatrix(matrix);
		obj.show_data(matrix);
		obj.find_normal_trace(matrix);
	}
}

Output

 1 2 3
 4 5 6
 7 8 3

 Normal : 14
 Trace : 9
/*
  Swift Program
  Find normal and trace of a matrix
*/
import Foundation
class MyMatrix {
	var size: Int;
	init(_ matrix: [
		[Int]
	]) {
		//Get matrix size
		//Assume that given matrix size is NXN 
		self.size = matrix.count;
	}
	func find_normal_trace(_ matrix: [
		[Int]
	]) {
		if (self.size <= 0) {
			return;
		}
		var normal: Int = 0;
		//Calculate Normal
		var i: Int = 0;
      	var j: Int = 0;
		while (i < self.size) {
			j = 0;
			while (j < self.size) {
				normal += matrix[i][j] * matrix[i][j];
				j += 1;
			}
			i += 1;
		}
		print(" Normal : ", Int(sqrt(Double(normal))) ,"\n", terminator: "");
		var trace: Int = matrix[0][0];
		i = 1;
		while (i < self.size) {
			j = 0;
			while (j < self.size) {
				if (i == j) {
					//Calculate sum of diagonal elements
					trace += matrix[i][j];
				}
				j += 1;
			}
			i += 1;
		}
		print(" Trace : ", trace ,"\n", terminator: "");
	}
	func show_data(_ matrix: [
		[Int]
	]) {
		var i: Int = 0;
		while (i < self.size) {
			var j: Int = 0;
			while (j < self.size) {
				print(" ", matrix[i][j], terminator: "");
				j += 1;
			}
			print("\n", terminator: "");
			i += 1;
		}
		print("\n", terminator: "");
	}
}
func main() {
	let matrix: [
		[Int]
	] = [
		[1, 2, 3],
		[4, 5, 6],
		[7, 8, 3]
	];
	let obj: MyMatrix = MyMatrix(matrix);
	obj.show_data(matrix);
	obj.find_normal_trace(matrix);
}
main();

Output

  1  2  3
  4  5  6
  7  8  3

 Normal :  14
 Trace :  9


Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.

New Comment







© 2021, kalkicode.com, All rights reserved