سلام دوستان .
من برنامه اي مي خوام كه يك عدد را بگيره و از صفر تا اون عدد را به صورت حلزوني چاپ كنه
با زبان c و بدون استفاده از تابع gotoxy
لطفا هر كس مي تونه كمك كنه
![]()
سلام دوستان .
من برنامه اي مي خوام كه يك عدد را بگيره و از صفر تا اون عدد را به صورت حلزوني چاپ كنه
با زبان c و بدون استفاده از تابع gotoxy
لطفا هر كس مي تونه كمك كنه
![]()
حلزونی یعنی چجوری ؟
شاید منظورت از حلزونی اینه:
مثلا حلزونی عدد 11 میشه:
1234567891011
یعنی اعدادیک تا یازده رو پشت سر هم بنویسیم.
اینجوریه؟
سلام دوستان
منم به این برنامه نیاز دارم
برنامه یه n فرد میگیره مثل 3 یا 5 ویا 9 و... و اونو به شکل مربع حلزونی که خونه مرکزی عدد n^2 رو تو خودش جای داده
شبیه مربع جادویی هستش
ممنون از کمک شما!
تا عدد 280 و خورده ای جواب میده ..
#include<stdio.h>
#include<conio.h>
int ar[19][19];
int ways[4][2]={{-1,0},{0,1},{1,0},{0,-1}};
int GetSides(int r ,int c)
{
int s=0;
if( ar[r+ways[0][0]][c+ways[0][1]]==-1 ) s++;
if( ar[r+ways[1][0]][c+ways[1][1]]==-1 ) s++;
if( ar[r+ways[2][0]][c+ways[2][1]]==-1 ) s++;
if( ar[r+ways[3][0]][c+ways[3][1]]==-1 ) s++;
return s;
}
main()
{
int i,j,t,num,w=3;
printf("\nEnter Number : ");
scanf("%d",&num);
for (i=0; i<19 ;i++)
for (j=0; j<19 ;j++)
ar[i][j]=-1;
clrscr();
for (t=0,i=9,j=9; t<=num ;t++)
{
ar[i][j]=t;
if(GetSides(i,j)>2)
w++;
if(w>3) w=0;
i+=ways[w][0];
j+=ways[w][1];
}
for (i=0; i<19 ;i++)
{
for (j=0; j<19 ;j++)
if (ar[i][j]==-1)
printf(" ");
else
printf("%3d ",ar[i][j]);
printf("\n");
}
getch();
}
---------- Post added at 08:43 AM ---------- Previous post was at 08:41 AM ----------
#include <conio.h>
#include <stdio.h>
void main()
{
int Table[100][100];
int n,a,i,b,j,m,x,q;
clrscr();
printf("\n Enter row count : ");
scanf("%d",&m);
printf(" Enter start number : ");
scanf("%d",&x);
a=0;
b=x;
q=0;
n=0;
while ( n<m*m)
{
for (i=1+a;i<=m-a;i++) // UP
{
b=b+1;
if( b>m*m )
q=1;
Table[1+a][i]=b;
gotoxy((i)*4-3,1+a+3);
if(q==1)
printf ("0");
else
printf ("%d",Table[1+a][i]);
n++;
}
for (i=2+a;i<=m-a;i++) // Right
{
b=b+1;
if( b>m*m )
q=1;
Table[i][m-a]=b;
gotoxy((m-a)*4-3,i+3);
if(q==1)
printf ("0");
else
printf ("%d",Table[i][m-a]);
n++;
}
for (i=(m-1-a);i>=1+a;i--) // Down
{
b=b+1;
if( b>m*m )
q=1;
Table[m-a][i]=b;
gotoxy((i)*4-3,m-a+3);
if(q==1)
printf ("0");
else
printf ("%d",Table[m-a][i]);
n++;
}
if ( n<=m*m ) // Left
{
for (i=(m-1-a);i>=(2+a);i--)
{
b=b+1;
if( b>m*m )
q=1;
Table[i][1+a]=b;
gotoxy((1+a)*4-3,i+3);
if(q==1)
printf ("0");
else
printf ("%d",Table[i][1+a]);
n++;
}
}
a=a+1;
}
getch();
}
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)