Skip to main content

Print diagonal star pattern

Here given code implementation process.

//C Program 
//Print diagonal star pattern
#include <stdio.h>

void diagonal_star(int size)
{
  if (size % 2 == 0)
  {
    return;
  }
  printf("\nSize : %d\n\n", size);
  int mid = size / 2;
  for (int i = 0; i < size; ++i)
  {
    for (int j = 0; j < size; ++j)
    {
      //Test case which is printing the value of star
      if (j == mid 
        || i == mid 
        || mid + i == j 
        || mid + j == i 
        || mid - i == j 
        || mid + j == i 
        || (i > mid && (size - 1) - (i - mid) == j))
      {
        printf(" *");
      }
      else
      {
        //include double space 
        printf("  ");
      }
    }
    printf("\n");
  }
}
int main()
{
  //Simple test
  diagonal_star(11);
  diagonal_star(7);
  diagonal_star(15);
  return 0;
}

Output

Size : 11

           *
         * * *
       *   *   *
     *     *     *
   *       *       *
 * * * * * * * * * * *
   *       *       *
     *     *     *
       *   *   *
         * * *
           *

Size : 7

       *
     * * *
   *   *   *
 * * * * * * *
   *   *   *
     * * *
       *

Size : 15

               *
             * * *
           *   *   *
         *     *     *
       *       *       *
     *         *         *
   *           *           *
 * * * * * * * * * * * * * * *
   *           *           *
     *         *         *
       *       *       *
         *     *     *
           *   *   *
             * * *
               *
/*
  Java Program
  Print diagonal star pattern
*/
class MyPattern
{
public void diagonal_star(int size)
{
  if (size % 2 == 0)
  {
    return;
  }
  System.out.print("\nSize : "+size+"\n\n" );
  int mid = size / 2;
  for (int i = 0; i < size; ++i)
  {
    for (int j = 0; j < size; ++j)
    {
      //Test case which is printing the value of star
      if (j == mid 
                || i == mid 
                || mid + i == j 
                || mid + j == i 
                || mid - i == j 
                || mid + j == i 
                || (i > mid && (size - 1) - (i - mid) == j))
      {
        System.out.print(" *");
      }
      else
      {
        //include double space 
        System.out.print("  ");
      }
    }
    System.out.print("\n");
  }
}
  public static void main(String[] args)
  {
    MyPattern obj = new MyPattern();
    //Simple test
    obj.diagonal_star(11);
    obj.diagonal_star(7);
    obj.diagonal_star(15);
  }
}

Output

Size : 11

           *
         * * *
       *   *   *
     *     *     *
   *       *       *
 * * * * * * * * * * *
   *       *       *
     *     *     *
       *   *   *
         * * *
           *

Size : 7

       *
     * * *
   *   *   *
 * * * * * * *
   *   *   *
     * * *
       *

Size : 15

               *
             * * *
           *   *   *
         *     *     *
       *       *       *
     *         *         *
   *           *           *
 * * * * * * * * * * * * * * *
   *           *           *
     *         *         *
       *       *       *
         *     *     *
           *   *   *
             * * *
               *
/*
  C++ Program
  Print diagonal star pattern
*/
#include<iostream>

using namespace std;
class MyPattern
{
	public: void diagonal_star(int size)
	{
		if (size % 2 == 0)
		{
			return;
		}
		cout << "\nSize : " << size << "\n\n";
		int mid = size / 2;
		for (int i = 0; i < size; ++i)
		{
			for (int j = 0; j < size; ++j)
			{
				//Test case which is printing the value of star
				if (j == mid 
                    || i == mid 
                    || mid + i == j 
                    || mid + j == i 
                    || mid - i == j 
                    || mid + j == i 
                    || (i > mid && (size - 1) - (i - mid) == j))
				{
					cout << " *";
				}
				else
				{
					cout << "  ";
				}
			}
			cout << "\n";
		}
	}
};
int main()
{
	MyPattern obj =  MyPattern();
	//Simple test
	obj.diagonal_star(11);
	obj.diagonal_star(7);
	obj.diagonal_star(15);
	return 0;
}

Output

Size : 11

           *
         * * *
       *   *   *
     *     *     *
   *       *       *
 * * * * * * * * * * *
   *       *       *
     *     *     *
       *   *   *
         * * *
           *

Size : 7

       *
     * * *
   *   *   *
 * * * * * * *
   *   *   *
     * * *
       *

Size : 15

               *
             * * *
           *   *   *
         *     *     *
       *       *       *
     *         *         *
   *           *           *
 * * * * * * * * * * * * * * *
   *           *           *
     *         *         *
       *       *       *
         *     *     *
           *   *   *
             * * *
               *
/*
  C# Program
  Print diagonal star pattern
*/
using System;
class MyPattern
{
	public void diagonal_star(int size)
	{
		if (size % 2 == 0)
		{
			return;
		}
		Console.Write("\nSize : " + size + "\n\n");
		int mid = size / 2;
		for (int i = 0; i < size; i++)
		{
			for (int j = 0; j < size; j++)
			{
				//Test case which is printing the value of star
				if (j == mid || i == mid || mid + i == j || mid + j == i || mid - i == j || mid + j == i || (i > mid && (size - 1) - (i - mid) == j))
				{
					Console.Write(" *");
				}
				else
				{
					//include double space 
					Console.Write("  ");
				}
			}
			Console.Write("\n");
		}
	}
	public static void Main(String[] args)
	{
		MyPattern obj = new MyPattern();
		//Simple test
		obj.diagonal_star(11);
		obj.diagonal_star(7);
		obj.diagonal_star(15);
	}
}

Output

Size : 11

           *
         * * *
       *   *   *
     *     *     *
   *       *       *
 * * * * * * * * * * *
   *       *       *
     *     *     *
       *   *   *
         * * *
           *

Size : 7

       *
     * * *
   *   *   *
 * * * * * * *
   *   *   *
     * * *
       *

Size : 15

               *
             * * *
           *   *   *
         *     *     *
       *       *       *
     *         *         *
   *           *           *
 * * * * * * * * * * * * * * *
   *           *           *
     *         *         *
       *       *       *
         *     *     *
           *   *   *
             * * *
               *
<?php
/*
  Php Program
  Print diagonal star pattern
*/
class MyPattern
{
	public	function diagonal_star($size)
	{
		if ($size % 2 == 0)
		{
			return;
		}
		echo("\nSize : ". $size ."\n\n");
		$mid = intval($size / 2);
		for ($i = 0; $i < $size; ++$i)
		{
			for ($j = 0; $j < $size; ++$j)
			{
				//Test case which is printing the value of star
				if ($j == $mid || $i == $mid || $mid + $i == $j || $mid + $j == $i || $mid - $i == $j || $mid + $j == $i || ($i > $mid && ($size - 1) - ($i - $mid) == $j))
				{
					echo(" *");
				}
				else
				{
					//include double space 
					echo("  ");
				}
			}
			echo("\n");
		}
	}
}

function main()
{
	$obj = new MyPattern();
	//Simple test
	$obj->diagonal_star(11);
	$obj->diagonal_star(7);
	$obj->diagonal_star(15);
}
main();

Output

Size : 11

           *
         * * *
       *   *   *
     *     *     *
   *       *       *
 * * * * * * * * * * *
   *       *       *
     *     *     *
       *   *   *
         * * *
           *

Size : 7

       *
     * * *
   *   *   *
 * * * * * * *
   *   *   *
     * * *
       *

Size : 15

               *
             * * *
           *   *   *
         *     *     *
       *       *       *
     *         *         *
   *           *           *
 * * * * * * * * * * * * * * *
   *           *           *
     *         *         *
       *       *       *
         *     *     *
           *   *   *
             * * *
               *
/*
  Node Js Program
  Print diagonal star pattern
*/
class MyPattern
{
	diagonal_star(size)
	{
		if (size % 2 == 0)
		{
			return;
		}
		process.stdout.write("\nSize : " + size + "\n\n");
		var mid = parseInt(size / 2);
		for (var i = 0; i < size; ++i)
		{
			for (var j = 0; j < size; ++j)
			{
				//Test case which is printing the value of star
				if (j == mid || i == mid || mid + i == j || mid + j == i || mid - i == j || mid + j == i || (i > mid && (size - 1) - (i - mid) == j))
				{
					process.stdout.write(" *");
				}
				else
				{
					//include double space 
					process.stdout.write("  ");
				}
			}
			process.stdout.write("\n");
		}
	}
}

function main(args)
{
	var obj = new MyPattern();
	//Simple test
	obj.diagonal_star(11);
	obj.diagonal_star(7);
	obj.diagonal_star(15);
}
main();

Output

Size : 11

           *
         * * *
       *   *   *
     *     *     *
   *       *       *
 * * * * * * * * * * *
   *       *       *
     *     *     *
       *   *   *
         * * *
           *

Size : 7

       *
     * * *
   *   *   *
 * * * * * * *
   *   *   *
     * * *
       *

Size : 15

               *
             * * *
           *   *   *
         *     *     *
       *       *       *
     *         *         *
   *           *           *
 * * * * * * * * * * * * * * *
   *           *           *
     *         *         *
       *       *       *
         *     *     *
           *   *   *
             * * *
               *
#   Python 3 Program
#   Print diagonal star pattern

class MyPattern :
	def diagonal_star(self, size) :
		if (size % 2 == 0) :
			return
		
		print("\nSize : ", size ,"\n\n", end = "")
		mid = int(size / 2)
		i = 0
		while (i < size) :
			j = 0
			while (j < size) :
				# Test case which is printing the value of star
				if (j == mid or i == mid or mid + i == j or mid + j == i or mid - i == j or mid + j == i or(i > mid and(size - 1) - (i - mid) == j)) :
					print(" *", end = "")
				else :
					print(" ", end = " ")
				
				j += 1
			
			print("\n", end = "")
			i += 1
		
	

def main() :
	obj = MyPattern()
	# Simple test
	obj.diagonal_star(11)
	obj.diagonal_star(7)
	obj.diagonal_star(15)


if __name__ == "__main__": main()

Output

Size :  11

           *
         * * *
       *   *   *
     *     *     *
   *       *       *
 * * * * * * * * * * *
   *       *       *
     *     *     *
       *   *   *
         * * *
           *

Size :  7

       *
     * * *
   *   *   *
 * * * * * * *
   *   *   *
     * * *
       *

Size :  15

               *
             * * *
           *   *   *
         *     *     *
       *       *       *
     *         *         *
   *           *           *
 * * * * * * * * * * * * * * *
   *           *           *
     *         *         *
       *       *       *
         *     *     *
           *   *   *
             * * *
               *
# Ruby Program
# Print diagonal star pattern

class MyPattern

	def diagonal_star(size)
	
		if (size % 2 == 0)
		
			return
		end
		print("\nSize : ", size ,"\n\n")
		mid = size / 2
		i = 0
		while (i < size)
		
			j = 0
			while (j < size)
			
				# Test case which is printing the value of star
				if (j == mid || i == mid || mid + i == j || mid + j == i || mid - i == j || mid + j == i || (i > mid && (size - 1) - (i - mid) == j))
				
					print(" *")
				else
				
					print("  ")
				end
				j += 1
			end
			print("\n")
			i += 1
		end
	end
end
def main()

	obj = MyPattern.new()
	# Simple test
	obj.diagonal_star(11)
	obj.diagonal_star(7)
	obj.diagonal_star(15)
end
main()

Output

Size : 11

           *          
         * * *        
       *   *   *      
     *     *     *    
   *       *       *  
 * * * * * * * * * * *
   *       *       *  
     *     *     *    
       *   *   *      
         * * *        
           *          

Size : 7

       *      
     * * *    
   *   *   *  
 * * * * * * *
   *   *   *  
     * * *    
       *      

Size : 15

               *              
             * * *            
           *   *   *          
         *     *     *        
       *       *       *      
     *         *         *    
   *           *           *  
 * * * * * * * * * * * * * * *
   *           *           *  
     *         *         *    
       *       *       *      
         *     *     *        
           *   *   *          
             * * *            
               *              
/*
  Scala Program
  Print diagonal star pattern
*/
class MyPattern
{
	def diagonal_star(size: Int): Unit = {
		if (size % 2 == 0)
		{
			return;
		}
		print("\nSize : " + size + "\n\n");
		var mid: Int = (size / 2).toInt;
		var i: Int = 0;
		while (i < size)
		{
			var j: Int = 0;
			while (j < size)
			{
				//Test case which is printing the value of star
				if (j == mid || i == mid || mid + i == j || mid + j == i || mid - i == j || mid + j == i || (i > mid && (size - 1) - (i - mid) == j))
				{
					print(" *");
				}
				else
				{
					print("  ");
				}
				j += 1;
			}
			print("\n");
			i += 1;
		}
	}
}
object Main
{
	def main(args: Array[String]): Unit = {
		var obj: MyPattern = new MyPattern();
		//Simple test
		obj.diagonal_star(11);
		obj.diagonal_star(7);
		obj.diagonal_star(15);
	}
}

Output

Size : 11

           *
         * * *
       *   *   *
     *     *     *
   *       *       *
 * * * * * * * * * * *
   *       *       *
     *     *     *
       *   *   *
         * * *
           *

Size : 7

       *
     * * *
   *   *   *
 * * * * * * *
   *   *   *
     * * *
       *

Size : 15

               *
             * * *
           *   *   *
         *     *     *
       *       *       *
     *         *         *
   *           *           *
 * * * * * * * * * * * * * * *
   *           *           *
     *         *         *
       *       *       *
         *     *     *
           *   *   *
             * * *
               *
/*
  Swift Program
  Print diagonal star pattern
*/
class MyPattern
{
	func diagonal_star(_ size: Int)
	{
		if (size % 2 == 0)
		{
			return;
		}
		print("\nSize : ", size ,"\n\n", terminator: "");
		let mid: Int = size / 2;
		var i: Int = 0;
		while (i < size)
		{
			var j: Int = 0;
			while (j < size)
			{
				//Test case which is printing the value of star
				if (j == mid || i == mid || mid + i == j || mid + j == i || mid - i == j || mid + j == i || (i > mid && (size - 1) - (i - mid) == j))
				{
					print(" *", terminator: "");
				}
				else
				{
					print(" ", terminator: " ");
				}
				j += 1;
			}
			print("\n", terminator: "");
			i += 1;
		}
	}
}
func main()
{
	let obj: MyPattern = MyPattern();
	//Simple test
	obj.diagonal_star(11);
	obj.diagonal_star(7);
	obj.diagonal_star(15);
}
main();

Output

Size :  11

           *
         * * *
       *   *   *
     *     *     *
   *       *       *
 * * * * * * * * * * *
   *       *       *
     *     *     *
       *   *   *
         * * *
           *

Size :  7

       *
     * * *
   *   *   *
 * * * * * * *
   *   *   *
     * * *
       *

Size :  15

               *
             * * *
           *   *   *
         *     *     *
       *       *       *
     *         *         *
   *           *           *
 * * * * * * * * * * * * * * *
   *           *           *
     *         *         *
       *       *       *
         *     *     *
           *   *   *
             * * *
               *




Comment

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