⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 5.cpp

📁 在地理信息系统概率中
💻 CPP
字号:
#include<iostream.h>
#include<stdio.h>
#include<string.h> 
int power(int a1,int a2)
{
	int a3=1,a4;
		if(a2==0||a1==1)
		{
	    	a3=1;
		}
        else
	    	if(a1==0)
		       a3=0;
		       else
	            for(a4=1;a4<=a2;a4++)
				{
			    	a3=a3*a1;
				}
return a3;
}


void f(int i,int j)
{
	int k;
	for(k=0;k<j;k++)
		printf("%8d",i);
}



void f2(int m)
{
	int n[4],r,s[4],t,p;
	if(m==1)
	{
		s[0] = 1;
		for(p=0;p<3;p++)
			printf("0");
		printf("%d",s[0]);
	}
	else 
		if(m==0)
		{
			s[0] = 0;
			for(p=0;p<4;p++)
			printf("%d",s[0]);
		}
		else
		{
			n[0] = m/2;
	        s[0] = m%2;

            if(n[0] != 0)
			{
	        	for(r=1;r<4;r++)
				{
		        	n[r] = n[r-1]/2;
			        s[r] = n[r-1]%2;
				}
			}
	             else
	            	s[0]=1;
		
	      for(t=3;t>=0;t--)
		  {
	        printf("%d",s[t]);
		  }
		}

}



int f3(int u,int v)
{
	int a1[4],b1[4],x,a4[4], a3[4],c[8],x1=1,x2=0;
	if(u==1)
	{
		a3[0]=0;
		a3[1]=0;
		a3[2]=0;
		a3[3]=1;
	}
	
		else 
		  if(u==0)
		  {
			  for(x=0;x<4;x++)
				 a3[x]=0;
		  }
		  	else
			{
			   b1[0] = u/2;
	           a1[0] =u%2;
			   if(b1[0] != 0)
	        	for(x=1;x<4;x++)
				{
		        	b1[x] = b1[x-1]/2;
			        a1[x] = b1[x-1]%2;
				}
	             else
	            	a1[0]=1;
				 for(int o=0;o<4;o++)
				 {
					 a3[o]=a1[3-o];
				 }
			}
			
	int a2[4],b2[4],y;
	if(v==1)
	{
		a4[0]=0;
	    a4[1]=0;
		a4[2]=0;
		a4[3]=1;
	}
		else 
		  if(v==0)
		  {
			  for(x=0;x<4;x++)
				 a4[x]=0;
		  }
		  	else
			{
			   b2[0] = v/2;
	           a2[0] =v%2;

               if(b2[0] != 0)
	        	for(y=1;y<4;y++)
				{
		        	b2[y] = b2[y-1]/2;
			        a2[y] = b2[y-1]%2;
				}
	             else
	            	a2[0]=1;
			 for(int x1=0;x1<4;x1++)
				 {
					 a4[x1]=a2[3-x1];
				 }
			}
for(int z1=0,z2=0;z1<8;)
{
	c[z1]=a3[z2];
	z2++;
	z1=z1+2;
}
for(int z3=1,z4=0;z3<8;)
{
	c[z3]=a4[z4];
	z4++;
	z3=z3+2;
}
for(int z5=0;z5<8;z5++)
{
	x1=c[z5]*power(2,7-z5);
	x2=x2+x1;
}
return x2;
}





void main()
{
	int m1[16][4]={{3,3,3,3},{3,3,3,3},{3,3,3,3},{3,3,3,1},{3,1,3,1},{1,1,1,1},{1,1,1,1},{1,1,1,4},{3,3,3,2},{2,2,2,2},{2,2,2,2},{2,2,2,2},{2,1,2,1},{1,1,1,1},{2,2,2,2},{1,1,1,1}};
    int e6=0,e7,e8,e9,e10,e11,e12,e13,e14,e15;
	f(3,5);
	f(1,3);
	printf("\n\n");
	f(3,5);
	f(1,3);
	printf("\n\n");
	f(3,4);
	f(1,4);
    printf("\n\n");
	f(3,3);
	f(1,4);
	f(4,1);
	printf("\n\n");
	f(3,2);
	f(2,3);
	f(1,3);
	printf("\n\n");
	f(3,1);
	f(2,4);
	f(1,3);
	printf("\n\n");
	f(2,6);
	f(1,2);
	printf("\n\n");
	f(2,6);
	f(1,2);
	printf("\n\n\n\n\n");


	for(int b=0;b<16;b++)
	{
		printf(" ");
	}
	printf("JJ");
	for(int c=0;c<8;c++)
	printf("%7d",c);
	printf("\n\n");
    for(int d=0;d<16;d++)
	{
		printf(" ");
	}
	printf("Jb");
	for(int e=0;e<8;e++)
	{
		printf("   ");
		f2(e);
	}
	printf("\n\n");
	for(int g=0;g<6;g++)
	{
		printf(" ");
	}
	printf("II");
	for(int h=0;h<6;h++)
	{
		printf(" ");
	}
	printf("Ib\n");
	for(int l=0;l<8;l++)
	{
	    printf("%8d",l);
    	printf("    ");
    	f2(l);
		printf("  ");
		for(int q=0;q<8;q++)
		{
			printf("%7d",f3(l,q));
		}

		printf("\n\n");
	}
		printf("\n\n\n\n");
		for(int d1=0;d1<30;d1++)
		{
			printf(" ");
		}
		printf("Morton码");
		printf("    ");
		printf("属性值\n");
			for(e9=0;e9<16;e9++)
		{
				if(e9==0)
		   {
			   e12=0;
			   e10=2;
			   e13=0;
			   e11=2;
			   e14=0;
			   e15=0;
		   }
		   if(e9==1)
		   {
			   e12=0;
			   e10=2;
			   e13=2;
			   e11=4;
			   e14=2;
			   e15=0;
		   }
		   if(e9==2)
		   {
			   e12=2;
			   e10=4;
			   e13=0;
			   e11=2;
			   e14=0;
			   e15=2;
		   }
		    if(e9==3)
		   {
			   e12=2;
			   e10=4;
			   e13=2;
			   e11=4;
			   e14=2;
			   e15=2;
		   }
			if(e9==4)
		   {
			   e12=0;
			   e10=2;
			   e13=4;
			   e11=6;
			   e14=4;
			   e15=0;
		   }
				if(e9==5)
		   {
			   e12=0;
			   e10=2;
			   e13=6;
			   e11=8;
			   e14=6;
			   e15=0;
		   }
			if(e9==6)
		   {
			   e12=2;
			   e10=4;
			   e13=4;
			   e11=6;
			   e14=4;
			   e15=2;
		   }
			if(e9==7)
		   {
			   e12=2;
			   e10=4;
			   e13=6;
			   e11=8;
			   e14=6;
			   e15=2;
		   }
			if(e9==8)
		   {
			   e12=4;
			   e10=6;
			   e13=0;
			   e11=2;
			   e14=0;
			   e15=4;
		   }
			if(e9==9)
		   {
			   e12=4;
			   e10=6;
			   e13=2;
			   e11=4;
			   e14=2;
			   e15=4;
		   }
			if(e9==10)
		   {
			   e12=6;
			   e10=8;
			   e13=0;
			   e11=2;
			   e14=0;
			   e15=6;
		   }
			if(e9==11)
		   {
			   e12=6;
			   e10=8;
			   e13=2;
			   e11=4;
			   e14=2;
			   e15=6;
		   }
			if(e9==12)
		   {
			   e12=4;
			   e10=6;
			   e13=4;
			   e11=6;
			   e14=4;
			   e15=4;
		   }
			if(e9==13)
		   {
			   e12=4;
			   e10=6;
			   e13=6;
			   e11=8;
			   e14=6;
			   e15=4;
		   }
			if(e9==14)
		   {
			   e12=6;
			   e10=8;
			   e13=4;
			   e11=6;
			   e14=4;
			   e15=6;
		   }
			if(e9==15)
		   {
			   e12=6;
			   e10=8;
			   e13=6;
			   e11=8;
			   e14=6;
			   e15=6;
		   }
		if(m1[e9][0]==m1[e9][1]&&m1[e9][1]==m1[e9][2]&&m1[e9][2]==m1[e9][3])
		{
		   for(int e4=0;e4<30;e4++)
			 {
				printf(" ");
			 }
			   	printf("%3d",f3(e15,e14));
		      	printf("%13d\n",m1[e9][0]);
		}
		else
		{   
				e6=0;
			for(e7=e12;e7<e10;e7++)
				for(e8=e13;e8<e11;e8++)
					{
						for(int e5=0;e5<30;e5++)
						{
		   	             	printf(" ");
						}
						printf("%3d",f3(e7,e8));
						printf("%13d\n",m1[e9][e6]);
						e6+=1;
					}

		}
}
}





⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -