View Full Version : توليد لوزي توخالي
kyaksar
پنج شنبه 28 اردیبهشت 1391, 20:51 عصر
سلام به همه خسته نباشيد من ميخواستم با كاراكتر ستاره يه لوزي توليد كنم كه تو خالي باشه اين كد رو نوشتم ولي لوزي توپر رسم مي كنه اگه كمك منيد ممنون ميشم
#include <iostream.h>
#include <conio.h>
void main()
{
int x,y,k,c=1;
cout<<"Enter a num:";
cin>>x;
y=x;
k=x;
while(x>0)
{
for(int w=0;w<x;w++)
{
cout<<" ";
}
for(w=c;w>0;w--)
{
cout<<"*";
}
x=x-1;
c=c+2;
cout<<"\n"; }
c=c-4;
x=(y-1);
while(x>0)
{
for(int w=y;w>=x;w--)
cout<<" ";
for(w=c;w>0;w--)
cout<<"*";
c=c-2;
x=x-1;
cout<<"\n";
}
getch();
}
//end
returnx
پنج شنبه 28 اردیبهشت 1391, 21:24 عصر
یکی به من یک تمرین از کتاب Dietel & dietel رو داده بود براش بنوسیم ، که توش رسم لوزی با کارکتر * بود خوشبختانه برنامه رو پاک نکردم و داشتم...
این کد کل برنامه : (هر چند طبق قوانین سایت این کار خیلی درست نیست)
#include "stdafx.h"
using namespace System;
#include <iostream>
using namespace std;
void regtang();
void sharp();
void cust_reg();
void diamond();
int main(array<System::String ^> ^args)
{
//Console::WriteLine(L"Hello World");
cout<<"Item Number:1=Regtang;2=Sharp;3=Diamond;4=Custome Regtang;5=Cleare Screen;0=EXIT"<<endl;
int order;
while (1)
{
cout<<"Please Insert The Number Item:";
cin>>order;
if (order==1)
regtang(); //Draw Regtang
else if(order==2)
sharp(); //Draw Sharp
else if(order==3)
diamond(); //Draw Diamond
else if(order==4)
cust_reg(); //Draw Custom Regtang
else if(order==5)
{
Console::Clear(); //Clear Screen
cout<<"Item Number:1=Regtang;2=Sharp;3=Diamond;4=Custome Regtang;5=Cleare Screen;0=EXIT"<<endl;
}
else if(order==0)
break;
else
cout<<"Invalid Item Number,Please Try Agin..."<<endl;
}//end While
return 0;
}//end main
void regtang()//Draw regtang
{
int i,j;
for (i=0;i<8;i++)
{
for (j=0;j<9;j++)
{
if (i==0||j==0||i==7||j==8)
cout<<"*";
else
cout<<" ";//Space
}//end j
cout<<endl; //Goto Next Line
}//end i
}//end Function
void sharp()
{
int i=0,j=0;
for (i=0;i<9;i++)
{
for (j=0;j<5;j++)
{
if (j==2)
cout<<"*";
else if (i==1 && ((j==1||j==3) && j!=4))
cout <<"*";
else if (i==2 && j!=2)
cout<<"*";
else
cout<<" ";
}//End j
cout<<endl; //Go To Next Line
}//End i
}// End Function
void cust_reg()
{
int i,j;
for (i=0;i<8;i++)
{
for (j=0;j<9;j++)
{
if (i==1 && j==0||i==1 && j==8||i==6 && j==0 || i==6 && j==8)
cout<<"*";
else if (i==0 && j>2 && j<6 ||i==7 && j>2 && j<6)
cout<<"*";
else if (i>1 && i<6 && j==1 || i>1 && i<6 && j==7)
cout<<"*";
else
cout<<" ";
}//End j
cout<<endl;
}//End i
}//End Function
void diamond()
{
int i,j,k=7,p=7;
for (i=0;i<10;i++)
{
for (j=0;j<15;j++)
{
if (j/2==7 && i>0 && i<5)
{
k=k-1;
p=p+1;
}//end if
else if(j/2==7 && i>=5 && i<10)
{
k=k+1;
p=p-1;
}//end else if
if (j==k && (i>0 && i<5) || j==p && (i>0 && i<5))
cout<<"*";
else if (j==k &&(i>=5 && i<10) || j==p && (i>=5 && i<10))
cout<<"*";
else
cout<<" ";
}//end j
cout<<endl;
}//end i
}//End Function
miladmn
چهارشنبه 21 تیر 1391, 20:24 عصر
برنامه اي كه دو ع صحيح را دريافت كند ، عدد اول برابر با اندازه ي قطر لوزي.عدد دوم برابر با تعداد لوزي هاي تو در تو . در خروجي به تعداد خواسته شده لوزي تو در تو چاپ كند.به طوري كه اندازه ي قطر بزرگترين لوزي برابر با عد اول باشد ، در صورتي كه تعداد لوزي هاي خواسته شده بزرگتر از انازه قطر لوزي باشد برنامه پيغام خطا ده.
به عنوان مثال در صورتي كه اندازه ي قطر لوزي را برابر با 7 بدهد و تعداد لوزي ها برابر با 2 باشد 2 لوزي هم مركز يكي به قطر 5 و يگري به قطر 7 در خروجي چاپ كند.
ممنون ميشم اگه هر چي زود تر اين برنامه رو يكي برام بنويسه.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.