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

📄 111.cpp

📁 2006年大学生数学建模参赛程序 第二题(1)
💻 CPP
字号:
#include<stdio.h>
#include<math.h>
void load1(float a[])
{
   FILE *fp;
   int i;
   if((fp=fopen("1.txt","rb"))==NULL)
   {
      printf("cannot open");
	  return;
   }
   for(i=1;i<5037;i++)
      fscanf(fp,"%f",&a[i]);
   fclose(fp);
}
void load2(float a[])
{
   FILE *fp;
   int i;
   if((fp=fopen("2.txt","rb"))==NULL)
   {
      printf("cannot open");
	  return;
   }
   for(i=1;i<5037;i++)
      fscanf(fp,"%f",&a[i]);
   fclose(fp);
}
void load3(float a[])
{
   FILE *fp;
   int i;
   if((fp=fopen("3.txt","rb"))==NULL)
   {
      printf("cannot open");
	  return;
   }
   for(i=1;i<5037;i++)
      fscanf(fp,"%f",&a[i]);
   fclose(fp);
}
void load4(float a[])
{
   FILE *fp;
   int i;
   if((fp=fopen("4.txt","rb"))==NULL)
   {
      printf("cannot open");
	  return;
   }
   for(i=1;i<5037;i++)
      fscanf(fp,"%f",&a[i]);
   fclose(fp);
}
main()
{
	float a[5037],b[5037],c[5037],d[5037],e1[325][7]={0},n[7],f1[325][7]={0},e2[324][7]={0},f2[324][7]={0},e3[325][7]={0},f3[325][7]={0},e4[325][7]={0},f4[325][7]={0};
   int i,j,k,l,b1[5037],b2[5037],b4[5037],b3[5037],num=0,m;
   load1(a);
   load2(b);
   load3(c);
   load4(d);
   j=0;
   for(i=1;i<5037;i++)
	   if(b[i]==1)
          b1[j++]=i;
   k=0;
   l=0;
   for(i=0;i<j-1;i++)
   {
	   if(a[b1[i]]==a[b1[i+1]])
       {
		   e1[k][l]=d[b1[i]];
	       f1[k][l++]=c[b1[i]];
	   }
	   else 
	   {
	       e1[k][l]=d[b1[i]];
		   f1[k][l]=c[b1[i]];
		   k++;
		   l=0;
	   }       
   }
  for(i=0;i<325;i++)
  {
	  m=0;
	  for(j=0;j<7;j++)
		  if(e1[i][j]!=0)
			  m++;
      if(m==1 && e1[i][j]>=3)
		  num++;
  }
   for(i=0;i<325;i++)
   {
	   for(j=0;j<7 && e1[i][j]!=0;j++);
       if(e1[i][j-1]-e1[i][0]>0 && j!=0)
		   num++;
   }
   printf("%d ",num);
   num=0;
   j=0;
   for(i=1;i<5037;i++)
	   if(b[i]==2)
          b2[j++]=i;
   k=0;
   l=0;
   for(i=0;i<j-1;i++)
   {
	   if(a[b2[i]]==a[b2[i+1]])
       {
		   e2[k][l]=d[b2[i]];
	       f2[k][l++]=c[b2[i]];
	   }
	   else 
	   {
	       e2[k][l]=d[b2[i]];
		   f2[k][l]=c[b2[i]];
		   k++;
		   l=0;
	   }       
   }
   for(i=0;i<324;i++)
   {
	   m=0;
	   for(j=0;j<7;j++)
		   if(e2[i][j]!=0)
			   m++;
       if(m==1 && e2[i][j]>=3)
		   num++;
   }
   for(i=0;i<325;i++)
   {
	   for(j=0;j<7 && e2[i][j]!=0;j++);
       if(e2[i][j-1]-e2[i][0]>0 && j!=0)
		   num++;
   }
   printf("%d ",num);
   num=0;
   j=0;
   for(i=1;i<5037;i++)
	   if(b[i]==3)
          b3[j++]=i;
   k=0;
   l=0;
   for(i=0;i<j-1;i++)
   {
	   if(a[b3[i]]==a[b3[i+1]])
       {
		   e3[k][l]=d[b3[i]];
	       f3[k][l++]=c[b3[i]];
	   }
	   else 
	   {
	       e3[k][l]=d[b3[i]];
		   f3[k][l]=c[b3[i]];
		   k++;
		   l=0;
	   }       
   }
   for(i=0;i<325;i++)
   {
	   m=0;
	   for(j=0;j<7;j++)
		   if(e3[i][j]!=0)
			   m++;
       if(m==1 && e3[i][j]>=3)
		   num++;
   }
   for(i=0;i<325;i++)
   {
	   for(j=0;j<7 && e3[i][j]!=0;j++);
	   if(e3[i][j-1]-e3[i][0]>0 && j!=0)
		   num++;	      	   
   }
   printf("%d ",num);
   num=0;
   j=0;
   for(i=1;i<5037;i++)
	   if(b[i]==4)
          b4[j++]=i;
   k=0;
   l=0;
   for(i=0;i<j-1;i++)
   {
	   if(a[b4[i]]==a[b4[i+1]])
       {
		   e4[k][l]=d[b4[i]];
	       f4[k][l++]=c[b4[i]];
	   }
	   else 
	   {
	       e4[k][l]=d[b4[i]];
		   f4[k][l]=c[b4[i]];
		   k++;
		   l=0;
	   }       
   }
   for(i=0;i<324;i++)
   {
	   m=0;
	   for(j=0;j<7;j++)
		   if(e4[i][j]!=0)
			   m++;
       if(m==1 && e4[i][j]>=3)
		   num++;
   }
   for(i=0;i<324;i++)
   {
	   for(j=0;j<7 && e4[i][j]!=0;j++);
       if(e4[i][j-1]-e4[i][0]>0 && j!=0)
		   num++;
  }
   printf("%d ",num);
}

⌨️ 快捷键说明

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