صفحه: [1]   پایین
  چاپ صفحه  
نويسنده موضوع: الگوريتم مربع جادويي به زبان c  (دفعات بازدید: 1248 بار)
آرین
مدیر بازنشسته
*****

تشكرها : 96
آفلاین آفلاین

جنسيت : پسر
تعداد ارسال: 372


هیهات من الذله ...


ديدن مشخصات WWW
« : 25 آذر 1388,ساعت 10:45:51 »

الگوريتم مربع جادويي به زبان c:

کد:
#include<conio.h>
#include<iostream.h>
#include<stdio.h>
int a[100][100],n,x,y;

int findx(int x)
{
if (x==1) return n;
return x-1;
}

int findy(int y)
{
if (y==1) return n;
return y-1;
}

void calc(int a[100][100],int n,int x,int y)
{
for(int i=2;i<=n*n;i++){
if(a[findx(x)][findy(y)]==0){
x=findx(x);
y=findy(y);
a[x][y]=i;}
else
{
x++;
a[x][y]=i;
}}}
main()
{
clrscr();
printf("Enter n:");
scanf("%d",&n);
while(n%2==0){
clrscr();
printf("enter n:");
scanf("%d",&n);}
for (int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
a[i][j]=0;
int y=n/2+1 , x=1;
a[x][y]=1;
calc(a,n,x,y);
clrscr();
printf("");
for(i=1;i<=n;i++){
for(j=1;j<=n;j++)
printf("%4d",a[i][j]);
printf("");}
getch();
}



خارج شده است

كاربران گرامی : لطفاً قبل از هرگونه فعاليت ابتدا قوانين انجمن را مطالعه  و قبل از ارسال جديد در انجمن جستجو نماييد.
آرین
مدیر بازنشسته
*****

تشكرها : 96
آفلاین آفلاین

جنسيت : پسر
تعداد ارسال: 372


هیهات من الذله ...


ديدن مشخصات WWW
« پاسخ #1 : 25 آذر 1388,ساعت 10:47:00 »

 الگوريتم مربع جادويي به زبان++ c
کد:
#include<iostream.h>
#include<conio.h>
int main()
{
int z,x,i,j,k,nsqr,n,range,ix;
int a1[100][100],a2[100][100],matrix[100][100];
clrscr();
cout<<"Enter n:";
cin>>n;
i=0;
j=n/2;
k=1;
nsqr=n*n;
if(n%2==0)
{
while(k<=nsqr)
{
matrix[j]=k;
j++;
i--;
if(k%n==0)
{
i+=2;
j--;
}//end if
else
{
if(j==n) j-=n;
else if(i<0) i+=n;
}//end else
k++;
}//end while
}//end if
else
{
ix=1;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
a1[j]=((i+1)%4)/2;
a2[j]=((i+1)%4)/2;
matrix[j]=ix;
ix++;
}//end for
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(a1[j]==a2[j]) matrix[j]=n*n+1-matrix[j];
}//end else
clrscr();
cout<<"Morabbae jadooei:";
for(z=0;z<n;z++)
{
for(x=0;x<n;x++)
cout<<matrix[z][x]<<"  ";
cout<<"";
}//end for
getch();
return(0);
}
خارج شده است

كاربران گرامی : لطفاً قبل از هرگونه فعاليت ابتدا قوانين انجمن را مطالعه  و قبل از ارسال جديد در انجمن جستجو نماييد.
صفحه: [1]   بالا
  چاپ صفحه  
 
پرش به :