0
#include <iostream>
using std::cout;
using std::cin;


int Forla_ciz(int);
int While_ile_ciz(int);
int DoWhile_ile_ciz(int);

void main()
{
	int genislik,no;


    while ( (genislik<1) || (genislik>22) )				
	{
		cout<<"0 ile 22 arasında bir genişlik girin:"; cin>>genislik;
	}
	
	while ((no<1)||(no>3))
	{

		cout<<"hangi fonksiyonu kullanarak cizmek istiyorsunuz?\n"
		<<"(1)for ile	(2) while ile	(3) do/while ile"; cin>>no;
			switch(no)		
			{
			case 1:
				Forla_ciz(genislik);
				break;
			case 2:
				While_ile_ciz(genislik);
				break;
			case 3:
				DoWhile_ile_ciz(genislik);
		}
	}
}


//************************** for döndüleri ile ***********************************
int Forla_ciz(int n)
{
int a,b,c,boslukBas,ort,p=0;



if (n%2==0)   n++; //tek yapan
ort=(n/2)+1;       //boşluk için ortanın bir fazlası
boslukBas=ort-1;		   




for(b=1; b<=ort;b++)	//satır sayısını dönderiyor
{
	for (a=boslukBas; a>0; a--) //boşluk
	{cout<<" ";}  cout<<"*";
	
	for(c=0;c<2*p ;c++)	//sağ taraftaki kısım, her *dan sonra 2 boşluk bir * basıyor.
	{ cout<<" ";} 
	  cout<<"*\n"; 
	  p++;

	boslukBas--;
}

boslukBas=0;
p-=2;

for(b=ort-1; b>=1;b--)	//satır sayısını dönderiyor
{
	for (a=-1; a<boslukBas; a++) //boşluk
	{cout<<" ";} cout<<"*";

	for(c=2*p;c>0 ;c--)	
	{ cout<<" ";} 
	  cout<<"*\n"; p--;


boslukBas++;
}


return 0;}


//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& while döngüleri ile &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

int While_ile_ciz(int n) {
int a,b,c,boslukBas,ort,p=0;

if (n%2==0)   n++; //tek yapan
ort=(n/2)+1;       //boşluk için ortanın bir fazlası
boslukBas=ort-1;		   
b=1;
while (b<=ort)
{ 
	
	a=boslukBas;
	while(a>0)
	{cout<<" "; a--;}
	 cout<<"*";
		
		c=0;
		while(c<2*p)
		{ cout<<" "; c++;} 
 cout<<"*\n";
 p++;
 boslukBas--;
 b++;
}



boslukBas=0;
p-=2;
b=ort-1;
while (b>=1)
{
	a=-1;
	while (a<boslukBas)
	{cout<<" "; a++;}
	
 cout<<"*";
		
		c=2*p;
		while(c>0)
		{ cout<<" ";c--;} 

 cout<<"*\n"; p--;
 boslukBas++;b--;
}

return 0;
}

//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  do/while döngüleri ile %%%%%%%%%%%%%%%%%%%%%%%%%%%%
int DoWhile_ile_ciz(int n)
{
 int a,b,c,boslukBas,ort,p=0;

 if (n%2==0)   n++; //tek yapan
 ort=(n/2)+1;       //boşluk için ortanın bir fazlası
 boslukBas=ort-1;
 b=1;
 do
 {
   a=boslukBas;
	
		do
	   {cout<<" "; a--;}
		while(a>0);
  
	cout<<"*";	 
	c=0;
	
			do
			{ cout<<" "; c++;}
			while(c<2*p);

	cout<<"*\n";
	p++;
	boslukBas--;
	b++;

 }	 
  while (b<=ort);
	 

boslukBas=0;
p-=2;
b=ort-1;
do
{
a=-1;
	
	do
	{cout<<" "; a++;}
	while (a<boslukBas);
cout<<"*";
c=2*p;
		
		do
		{ cout<<" ";c--;} 
		while(c>0);

cout<<"*\n"; p--;
boslukBas++;b--; 
}
while (b>=1);
return 0;
}

i draw only diamond but i coudnot draw square.i need some help

2
Contributors
1
Reply
2
Views
9 Years
Discussion Span
Last Post by jwenting
This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.